Function at 0x40b528
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov esi, dword [ebp + 8]
mov edi, 0x104
push 2
push edi
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x2c], eax
push 0x45fac2
push 0x7328f505
call fcn.00439a28
add esp, 8
push edi
push dword [ebp - 0x2c]
push esi
call eax
lea eax, [ebp - 0x28]
mov dword [eax], 0
mov dword [ebp - 0x10], 0xb6b84a9d
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp eax, 0xd3aa9fc5
jle 0x40b5f5
cmp eax, 0x6610954
jle 0x40b643
cmp eax, 0x4e040973
jle 0x40b6ee
cmp eax, 0x630777f4
jg 0x40b7fe
cmp eax, 0x4e040974
je 0x40b973
cmp eax, 0x55701329
je 0x40b98f
cmp eax, 0x5f925468
jne 0x40b573
mov eax, dword [ebp - 0x14]
mov ecx, 0xd0
add eax, ecx
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x3ca9
dec edx
shr eax, 0xc
lea eax, [eax*8 + 0x2c]
mov dword [ebp - 0x14], eax
mov eax, 0x80d61a96
cmp edx, ecx
je 0x40bc7c
mov eax, 0xd7079ddc
jmp 0x40bc7c
cmp eax, 0xbb1da566
jg 0x40b693
cmp eax, 0x9bbcc364
jg 0x40b74c
cmp eax, 0x856f3886
jle 0x40b820
cmp eax, 0x856f3887
je 0x40b9cf
cmp eax, 0x88a3f494
je 0x40ba0e
cmp eax, 0x9228fb63
jne 0x40b573
mov dword [ebp - 0x10], 0x1b4541f9
jmp 0x40b573
cmp eax, 0xebc7d898
jg 0x40b786
cmp eax, 0xde454cd3
jle 0x40b83b
cmp eax, 0xde454cd4
je 0x40ba1a
cmp eax, 0xdeb94a35
je 0x40ba6d
cmp eax, 0xe3e203cd
jne 0x40b573
mov eax, dword [ebp - 0x14]
shr eax, 1
and eax, 0x3fffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xcb360944
jmp 0x40b573
cmp eax, 0xcb360943
jg 0x40b7b7
cmp eax, 0xc5c42e58
jle 0x40b873
cmp eax, 0xc5c42e59
je 0x40ba90
cmp eax, 0xc8eb5412
je 0x40baa5
cmp eax, 0xc97a4cda
jne 0x40b573
imul esi, esi, 0x5580
add esi, 0xfffe3bc0
mov eax, 0xb6b84a9d
cmp esi, 0x5b
jge 0x40bc7c
mov eax, 0xa17801ba
jmp 0x40bc7c
cmp eax, 0x1d1bfa04
jle 0x40b8a4
cmp eax, 0x1d1bfa05
je 0x40bab1
cmp eax, 0x2ad68011
je 0x40baf5
cmp eax, 0x3ebb34a7
jne 0x40b573
mov eax, dword [ebp - 0x14]
shr eax, 0x19
lea ecx, [eax - 0x69]
imul ecx, ecx
imul edx, ecx, 0x6765
dec edx
add eax, 0xffffff10
mov dword [ebp - 0x14], eax
mov eax, 0xd2333425
cmp edx, ecx
je 0x40bc7c
mov eax, 0x855476af
jmp 0x40bc7c
cmp eax, 0xa397ae2f
jle 0x40b8d4
cmp eax, 0xa397ae30
je 0x40bb0a
cmp eax, 0xb6b84a9d
je 0x40bb33
cmp eax, 0xbab24ea3
jne 0x40b573
imul esi, esi, 0xbc0000
shr esi, 7
jmp 0x40baa5
cmp eax, 0xf27b69fe
jle 0x40b90b
cmp eax, 0xf27b69ff
je 0x40bb4e
cmp eax, 0xf4ed3cf2
je 0x40bb6b
cmp eax, 0x2a0ca48
je 0x40ba31
jmp 0x40b573
cmp eax, 0xd0905a7f
jle 0x40b942
cmp eax, 0xd0905a80
je 0x40bbb5
cmp eax, 0xd1ddbb78
je 0x40bbde
cmp eax, 0xd2333425
jne 0x40b573
shl esi, 0xa
mov eax, 0x856f3887
cmp esi, 0x3e
jl 0x40bc7c
mov eax, 0xc5c42e59
jmp 0x40bc7c
cmp eax, 0x630777f5
je 0x40bc10
cmp eax, 0x7ecb0972
jne 0x40bd06
mov dword [ebp - 0x10], 0x66e71dfc
jmp 0x40b573
cmp eax, 0x80d61a96
je 0x40bc2e
cmp eax, 0x855476af
je 0x40ba61
jmp 0x40b573
cmp eax, 0xd3aa9fc6
je 0x40bc55
cmp eax, 0xd7079ddc
jne 0x40b573
mov eax, dword [ebp - 0x20]
movzx ecx, word [ebp - 0x22]
mov word [eax], cx
push dword [ebp - 0x1c]
call dword [0x46914c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0xe3e203cd
jmp 0x40b573
cmp eax, 0xbb1da567
je 0x40bc84
cmp eax, 0xbda6ef7c
jne 0x40b573
push 1
push 0x18
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x88a3f494
jmp 0x40b573
cmp eax, 0x6610955
je 0x40bcb3
cmp eax, 0x1b4541f9
jne 0x40b573
push 0x45fd78
push dword [ebp - 0x1c]
call dword [0x469140]
mov dword [ebp - 0x10], 0x80d61a96
jmp 0x40b573
cmp eax, 0x9bbcc365
je 0x40ba4c
cmp eax, 0xa17801ba
jne 0x40b573
imul esi, esi, 0x2c4000
add esi, 0xffffffc7
mov eax, 0x4e040974
cmp esi, 0x32
jge 0x40bc7c
mov eax, 0xd1ddbb78
jmp 0x40bc7c
cmp eax, 0xebc7d899
je 0x40bcbf
cmp eax, 0xec948aa3
jne 0x40b573
mov eax, dword [ebp + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp byte [eax], 0xcc
mov eax, 0x9bbcc365
je 0x40bc7c
mov eax, 0xf27b69ff
jmp 0x40bc7c
cmp eax, 0xcb360944
je 0x40bcf1
cmp eax, 0xceb89f54
jne 0x40b573
push 1
push 8
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0x1d1bfa05
jmp 0x40b573
imul esi, esi, 0x6b00000
mov eax, 0xb6b84a9d
add esi, 0x6300000
jne 0x40bc09
jmp 0x40bc7c
shl esi, 5
add esi, 0x1180
shr esi, 0xa
push 0x4779
push esi
push 0x5f63
call fcn.0040bd29
add esp, 0xc
push esi
call fcn.0040c3bb
add esp, 4
mov eax, 0x9bbcc365
cmp esi, 0x34
je 0x40bc7c
mov eax, 0xec948aa3
jmp 0x40bc7c
add esi, 0xbe
shr esi, 4
add esi, 0xffffffce
shr esi, 8
add esi, 0x23
push esi
push 0x1018
push 0x5d6f
push 0x1684
call fcn.0040c41c
add esp, 0x10
push esi
call fcn.0040b528
add esp, 4
mov dword [ebp - 0x10], 0x9bbcc365
jmp 0x40b573
mov dword [ebp - 0x10], 0xec948aa3
jmp 0x40b573
mov eax, dword [ebp - 0x30]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x40ba4c
movzx eax, ax
cmp eax, 0xf0b
jne 0x40ba61
imul eax, dword [ebp - 0x14], 0x2647800
add eax, 0xe8170000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x9bbcc365
jmp 0x40b573
mov dword [ebp - 0x38], esi
popal
jmp 0x40ba50
mov dword [ebp - 0x10], 0x630777f5
jmp 0x40b573
movzx eax, word [ebp - 0x24]
add eax, 2
mov ecx, dword [ebp - 0x20]
mov word [ecx + 2], ax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [eax + 4], ecx
mov dword [ebp - 0x10], 0xebc7d899
jmp 0x40b573
imul esi, esi, 0x4fb
add esi, 0x9e7
push esi
call fcn.0040b528
add esp, 4
mov dword [ebp - 0x10], 0xceb89f54
jmp 0x40b573
mov eax, dword [ebp - 0x14]
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*4]
add ecx, 0x40
mov eax, ecx
imul eax, ecx
imul edx, eax, 0x74d
shr ecx, 5
and ecx, 0xffffff
dec edx
imul ecx, ecx, 0xd0
shr ecx, 2
mov dword [ebp - 0x14], ecx
mov ecx, 0xa397ae30
cmp eax, edx
je 0x40bce9
mov ecx, 0xbda6ef7c
jmp 0x40bce9
mov eax, dword [ebp - 0x18]
mov dword [eax], 0x18
mov dword [ebp - 0x10], 0xd0905a80
jmp 0x40b573
add esi, 0xca
shr esi, 0xa
imul esi, esi, 0xaa
mov eax, 0xceb89f54
cmp esi, 0xed
jb 0x40bb2b
mov eax, 0xbab24ea3
add esi, 0xfffffff6
jmp 0x40bc7c
push 1
push 8
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xd3aa9fc6
jmp 0x40b573
mov eax, dword [ebp - 0x14]
shr eax, 5
and eax, 0x1ffff
add eax, 0xffffff94
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xde454cd4
jmp 0x40b573
mov eax, dword [ebp - 0x48]
xor ecx, ecx
push ecx
push ecx
push 0x20
push 1
push 3
push 0x80
push ecx
push dword [ebp - 0x40]
push dword [ebp - 0x18]
push 0x120089
lea ecx, [ebp - 0x28]
push ecx
call eax
mov dword [ebp - 0x34], eax
push 0x45fd82
push 0x77bf809f
call fcn.00439a28
add esp, 8
push dword [ebp - 0x34]
call eax
mov dword [ebp - 0x10], 0x7ecb0972
jmp 0x40b573
mov eax, dword [ebp - 0x18]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x18]
mov dword [eax + 0xc], 0x40
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 8], ecx
mov dword [ebp - 0x10], 0xbb1da567
jmp 0x40b573
shr esi, 1
add esi, 0x76
push esi
call fcn.0040b528
add esp, 4
push esi
push 0x5628
push 0x25e
call fcn.0040bd29
add esp, 0xc
mov eax, 0xec948aa3
cmp esi, 0x49
jge 0x40bc7c
mov eax, 0xceb89f54
jmp 0x40bc7c
push 2
push 0x118
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0x9228fb63
jmp 0x40b573
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
call dword [0x469140]
push dword [ebp - 0x1c]
call dword [0x46914c]
add eax, eax
mov word [ebp - 0x22], ax
mov dword [ebp - 0x10], 0x5f925468
jmp 0x40b573
mov ecx, dword [ebp - 0x14]
shr ecx, 0xc
imul eax, ecx, 0x142
imul ecx, ecx
imul edx, ecx, 0x7fdd
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0xb6b84a9d
cmp edx, ecx
je 0x40bc7c
mov eax, 0xc8eb5412
mov dword [ebp - 0x10], eax
jmp 0x40b573
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x14], ecx
push 0x45fd82
push 0xb5ca9f40
call fcn.00439a28
add esp, 8
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0x6610955
jmp 0x40b573
mov dword [ebp - 0x10], 0xf4ed3cf2
jmp 0x40b573
mov eax, dword [ebp - 0x14]
shr eax, 0xc
add eax, 0x6f
imul ecx, eax, 0x740000
imul eax, eax
imul edx, eax, 0x6ee7
dec edx
mov dword [ebp - 0x14], ecx
mov ecx, 0xcb360944
cmp edx, eax
je 0x40bce9
mov ecx, 0x2ad68011
mov dword [ebp - 0x10], ecx
jmp 0x40b573
mov eax, dword [ebp - 0x44]
add eax, eax
mov word [ebp - 0x24], ax
mov dword [ebp - 0x10], 0xdeb94a35
jmp 0x40b573
cmp eax, 0x66e71dfc
jne 0x40b573
mov dword [ebp - 0x3c], esi
cmp dword [ebp - 0x34], 0
jns 0x40bd1e
xor eax, eax
jmp 0x40bd21
mov eax, dword [ebp - 0x28]
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret