Function at 0x40a4b4
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]
push 2
push 0x104
call fcn.0044e041
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [esi + 4]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0xefcdf2fd
lea eax, [esi + 8]
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x28]
mov edi, dword [0x46f21c]
mov eax, dword [ebp - 0x10]
cmp eax, 0xf05a1dcb
jle 0x40a559
cmp eax, 0x347e98bd
jg 0x40a606
cmp eax, 0xaacab27
jg 0x40a653
cmp eax, 0xff0fe79b
jle 0x40a847
cmp eax, 0xff0fe79c
je 0x40aa8f
cmp eax, 0xffc6ec5f
je 0x40aada
cmp eax, 0x9c7456f
jne 0x40a4ee
mov eax, dword [ebp + 8]
push dword [eax]
push dword [ebp - 0x18]
call edi
push 0x464178
push dword [ebp - 0x18]
call edi
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0x4e7a164c
jmp 0x40a4ee
cmp eax, 0xc2e8cd3e
jg 0x40a5bb
cmp eax, 0xa15f968a
jle 0x40a69f
cmp eax, 0xb4dec008
jle 0x40a88f
cmp eax, 0xb4dec009
je 0x40aaa1
cmp eax, 0xbed3c812
je 0x40ab20
cmp eax, 0xbfc74544
jne 0x40a4ee
mov eax, dword [ebp - 0x2c]
movzx eax, word [eax]
cmp eax, 0xf0b
je 0x40a796
movzx eax, ax
cmp eax, 0xcd03
je 0x40a796
jmp 0x40a919
cmp eax, 0xdb9d56bf
jle 0x40a6e1
cmp eax, 0xe97392d6
jle 0x40a8cf
cmp eax, 0xe97392d7
je 0x40aabb
cmp eax, 0xec836d0a
je 0x40ab2c
cmp eax, 0xefcdf2fd
jne 0x40a4ee
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0x2484cf47
jmp 0x40a4ee
cmp eax, 0x5d1a6647
jle 0x40a723
cmp eax, 0x6415a1b7
jle 0x40a8f1
cmp eax, 0x6415a1b8
je 0x40a919
cmp eax, 0x6d7610e7
je 0x40ab72
cmp eax, 0x722db304
jne 0x40a4ee
push 0x4641be
push dword [ebp - 0x1c]
call edi
mov dword [ebp - 0x10], 0xa5cfc3af
jmp 0x40a4ee
cmp eax, 0x178ed1f6
jg 0x40a80d
cmp eax, 0xb663a78
jne 0x40abb2
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
call fcn.004202d8
add esp, 0x10
push dword [ebp - 0x18]
call fcn.0044e887
add esp, 4
push dword [ebp - 0x1c]
call fcn.0044e887
add esp, 4
mov dword [ebp - 0x10], 0x5d1a6648
jmp 0x40a4ee
cmp eax, 0x982e66d1
jg 0x40a780
cmp eax, 0x81eb8276
je 0x40a925
cmp eax, 0x89b37696
jne 0x40a4ee
mov eax, dword [ebp - 0x14]
add eax, eax
add eax, 0x93
shr eax, 4
and eax, 0x1ffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x9d4c25ed
jmp 0x40a4ee
cmp eax, 0xcca1894e
jg 0x40a7b1
cmp eax, 0xc2e8cd3f
je 0x40a945
cmp eax, 0xc5e298cf
jne 0x40a4ee
shr ebx, 2
imul ebx, ebx, 0x65
shr ebx, 0xc
mov eax, 0x347e98be
cmp ebx, 0x70
je 0x40ab18
mov eax, 0xffc6ec5f
jmp 0x40ab18
cmp eax, 0x4e7a164b
jg 0x40a7d3
cmp eax, 0x347e98be
je 0x40a9d0
cmp eax, 0x4a0a2cf7
jne 0x40a4ee
mov eax, dword [ebp - 0x14]
add eax, 0xffffffcd
shr eax, 3
add eax, 0x3b
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x5243
dec edx
shr eax, 0xf
lea eax, [eax*8 - 0x47]
mov dword [ebp - 0x14], eax
mov eax, 0xa5cfc3af
cmp ecx, edx
je 0x40ab18
mov eax, 0x61c7f234
jmp 0x40ab18
cmp eax, 0x982e66d2
je 0x40a982
cmp eax, 0x9d4c25ed
jne 0x40a4ee
mov dword [ebp - 0x34], ebx
popal
jmp 0x40a79a
cmp eax, 0xcca1894f
je 0x40a9b8
cmp eax, 0xd8420285
jne 0x40a4ee
mov dword [ebp - 0x10], 0xe97392d7
jmp 0x40a4ee
cmp eax, 0x4e7a164c
je 0x40aa0a
cmp eax, 0x52b04e1f
jne 0x40a4ee
imul ebx, ebx, 0x1d4
and ebx, 0xfffff800
mov eax, 0xb4dec009
cmp ebx, 0x7a
jl 0x40ab18
mov eax, 0x2484cf47
jmp 0x40ab18
cmp eax, 0x178ed1f7
je 0x40ab86
cmp eax, 0x2484cf47
je 0x40ab9e
cmp eax, 0x28605ba7
jne 0x40a4ee
imul eax, dword [ebp - 0x14], 0x71700000
shr eax, 0xe
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x6415a1b8
jmp 0x40a4ee
cmp eax, 0xf05a1dcc
je 0x40aa26
cmp eax, 0xf8ccc30b
jne 0x40a4ee
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0x2e]
imul ecx, ecx
imul edx, ecx, 0x2381
dec edx
imul eax, eax, 0x71
add eax, 0xffffb414
mov dword [ebp - 0x14], eax
mov eax, 0xdb9d56c0
cmp edx, ecx
je 0x40ab18
mov eax, 0xde2d6170
jmp 0x40ab18
cmp eax, 0xa15f968b
je 0x40aa59
cmp eax, 0xa5cfc3af
jne 0x40a4ee
push dword [ebp + 0xc]
push dword [ebp - 0x1c]
call edi
push dword [ebp - 0x1c]
call fcn.0041067a
add esp, 4
mov ecx, 0x15035cc8
test eax, eax
je 0x40ab6a
mov ecx, 0xdb9d56c0
jmp 0x40ab6a
cmp eax, 0xdb9d56c0
je 0x40aa65
cmp eax, 0xde2d6170
jne 0x40a4ee
mov dword [ebp - 0x10], 0x9c7456f
jmp 0x40a4ee
cmp eax, 0x5d1a6648
je 0x40aa83
cmp eax, 0x61c7f234
jne 0x40a4ee
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0xff0fe79c
jmp 0x40a4ee
mov dword [ebp - 0x10], 0xbed3c812
jmp 0x40a4ee
add ebx, 0xfffffea5
mov eax, 0xefcdf2fd
cmp ebx, 0x920
jb 0x40a93d
mov eax, 0x722db304
shr ebx, 5
jmp 0x40ab18
mov eax, dword [ebp - 0x40]
push dword [eax]
push dword [ebp - 0x18]
call edi
push 0x464178
push dword [ebp - 0x18]
call edi
push dword [ebp + 0xc]
push dword [ebp - 0x18]
call edi
mov eax, dword [ebp + 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp byte [eax], 0xcc
mov eax, 0x89b37696
je 0x40ab18
mov eax, 0xbfc74544
jmp 0x40ab18
mov eax, dword [ebp - 0x14]
shr eax, 0xf
lea ecx, [eax + 0x8f]
add eax, 0xffffffbd
imul ecx, ecx
imul edx, ecx, 0xbe7
dec edx
shr eax, 7
mov dword [ebp - 0x14], eax
mov eax, 0x178ed1f7
cmp ecx, edx
je 0x40ab18
mov eax, 0x722db304
jmp 0x40ab18
shr ebx, 2
imul ebx, ebx, 0x3a1800
add ebx, 0xffffffd5
mov dword [ebp - 0x10], 0xa5cfc3af
jmp 0x40a4ee
shl ebx, 0x1c
lea esi, [ebx + ebx*2]
mov ebx, esi
shr ebx, 0xf
push 0x30f5
push 0x502
push ebx
push 0x2df0
call fcn.00409f21
add esp, 0x10
mov eax, 0xdb9d56c0
test esi, esi
je 0x40ab18
mov eax, 0xa5cfc3af
jmp 0x40ab18
mov eax, dword [ebp - 0x14]
shr eax, 0xc
lea eax, [eax*4 - 0xf2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xc2e8cd3f
jmp 0x40a4ee
mov eax, dword [ebp - 0x14]
shr eax, 0xc
imul ecx, eax, 0xf4
imul eax, eax
imul edx, eax, 0x3977
shr ecx, 3
dec edx
mov dword [ebp - 0x14], ecx
mov ecx, 0xdb9d56c0
cmp eax, edx
je 0x40ab6a
mov ecx, 0xa15f968b
jmp 0x40ab6a
mov dword [ebp - 0x10], 0xb663a78
jmp 0x40a4ee
push 2
push 0x104
call fcn.0044e041
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xf8ccc30b
jmp 0x40a4ee
mov dword [ebp - 0x10], 0x15035cc8
jmp 0x40a4ee
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0xf05a1dcc
jmp 0x40a4ee
shr ebx, 0xf
imul ebx, ebx, 0x8fd0
mov eax, 0xcca1894f
cmp ebx, 0x21
jb 0x40ab18
mov eax, 0x9848f7d1
jmp 0x40ab18
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x1c]
call fcn.004103d2
add esp, 0xc
mov dword [ebp - 0x10], 0x4a0a2cf7
jmp 0x40a4ee
shr ebx, 2
imul esi, ebx, 0xf9
add esi, 0x26e8
mov ebx, esi
shr ebx, 0xe
push 0x2d4b
push 0x3932
push 0x2e19
push ebx
call fcn.00409f21
add esp, 0x10
mov eax, 0xc2e8cd3f
cmp esi, 0x2bc000
jb 0x40ab18
mov eax, 0x9c7456f
mov dword [ebp - 0x10], eax
jmp 0x40a4ee
mov dword [ebp - 0x10], 0x6d7610e7
jmp 0x40a4ee
mov ecx, dword [ebp - 0x14]
add ecx, 0x33
shr ecx, 8
lea eax, [ecx + 0xef]
mov edx, eax
shl edx, 6
lea ecx, [edx + ecx*2]
add ecx, 0x1de
imul eax, eax
imul edx, eax, 0x4325
dec edx
shr ecx, 0xb
and ecx, 0xfffffffc
mov dword [ebp - 0x14], ecx
mov ecx, 0x58747b81
cmp eax, edx
je 0x40ab6a
mov ecx, 0xd8420285
mov dword [ebp - 0x10], ecx
jmp 0x40a4ee
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xec836d0a
jmp 0x40a4ee
imul ebx, ebx, 0xe000000
add ebx, 0xfffed800
mov dword [ebp - 0x10], 0x2484cf47
jmp 0x40a4ee
push dword [ebp - 0x3c]
push dword [ebp - 0x1c]
call edi
mov dword [ebp - 0x10], 0x982e66d2
jmp 0x40a4ee
cmp eax, 0x15035cc8
je 0x40abdd
cmp eax, 0xaacab28
jne 0x40a4ee
imul eax, ebx, 0x578
add eax, 0xffff2126
mov dword [ebp - 0x28], eax
push eax
push 0x26ea
call fcn.00407800
mov dword [ebp - 0x28], ebx
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret