Function at 0x40f7e0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov dword [ebp - 0x10], 0x55209612
mov eax, dword [ebp - 0x10]
cmp eax, 0x1ce18811
jg 0x40f860
cmp eax, 0xd8ce5b26
jle 0x40f8d3
cmp eax, 0xf0e7aef5
jle 0x40f992
cmp eax, 0x7496579
jle 0x40fb10
cmp eax, 0x12a6f896
jg 0x40fdab
cmp eax, 0x749657a
je 0x40fe1e
cmp eax, 0xbc4f8b6
jne 0x40f7f0
imul ecx, dword [ebp - 0x14], 0x119d750
add ecx, 0xfd0a8d59
mov dword [ebp - 0x14], ecx
mov eax, 0x653a7835
cmp ecx, 0x43
jae 0x4103a7
mov eax, 0x758b8766
jmp 0x4103a7
cmp eax, 0x60d63b9a
jg 0x40f945
cmp eax, 0x3d25f775
jle 0x40f9f8
cmp eax, 0x55209611
jg 0x40fb6b
cmp eax, 0x4de30b12
jle 0x40fddc
cmp eax, 0x4de30b13
je 0x40fe4e
cmp eax, 0x50fb5f56
jne 0x40f7f0
movzx eax, word [ebp - 0x34]
mov ecx, dword [ebp - 0x4c]
mov word [ecx], ax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x18
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x10], 0xd8ce5b27
jmp 0x40f7f0
cmp eax, 0x9d5c7ec6
jg 0x40fa52
cmp eax, 0x8f9479dc
jg 0x40fbb6
cmp eax, 0x866f0aaf
je 0x40fe95
cmp eax, 0x890fe017
je 0x40fede
cmp eax, 0x8d9c2013
jne 0x40f7f0
mov eax, dword [ebp - 0x18]
mov ecx, 0xffffff57
add eax, ecx
shr eax, 0xb
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x2e03
dec edx
shl eax, 5
add eax, 0x360
mov dword [ebp - 0x18], eax
mov eax, 0x12a6f897
cmp ecx, edx
je 0x4103a7
mov eax, 0x5b0b727c
jmp 0x4103a7
cmp eax, 0x71be5c70
jg 0x40fa9d
cmp eax, 0x669806ee
jg 0x40fc1a
cmp eax, 0x60d63b9b
je 0x410320
cmp eax, 0x64d557af
je 0x40ff09
cmp eax, 0x653a7835
jne 0x40f7f0
mov eax, dword [ebp - 0x3c]
cmp byte [eax], 0xcc
mov eax, 0x890fe017
jne 0x40fd48
jmp 0x4103a7
cmp eax, 0xe8315fa9
jg 0x40fc60
cmp eax, 0xd8ce5b27
je 0x40ff2e
cmp eax, 0xe52542ba
je 0x40ff75
cmp eax, 0xe5557267
jne 0x40f7f0
mov esi, dword [ebp - 0x14]
shl esi, 4
and esi, 0x1ffff0
mov dword [ebp - 0x14], esi
push 0x2c93
push 0x605f
push esi
call fcn.004103d2
add esp, 0xc
mov eax, 0xae119814
cmp esi, 0x4b
jae 0x4103a7
mov eax, 0xe8cfce0f
jmp 0x4103a7
cmp eax, 0x2d845915
jg 0x40fccc
cmp eax, 0x1ce18812
je 0x410358
cmp eax, 0x21806df3
je 0x40ffa0
cmp eax, 0x2773283d
jne 0x40f7f0
mov eax, dword [ebp - 0x14]
shr eax, 0xe
lea esi, [eax*8 - 0x550]
mov dword [ebp - 0x14], esi
push esi
call fcn.0041067a
add esp, 4
push esi
call fcn.0041067a
add esp, 4
mov dword [ebp - 0x10], 0xe52542ba
jmp 0x40f7f0
cmp eax, 0xb7c64cba
jg 0x40fcf9
cmp eax, 0x9d5c7ec7
je 0x40ffcd
cmp eax, 0xa7e3ae00
je 0x40fff6
cmp eax, 0xae119814
jne 0x40f7f0
mov eax, dword [ebp - 0x44]
push 0x104
push dword [ebp - 0x38]
push dword [ebp + 8]
call eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x669806ef
jmp 0x40f7f0
cmp eax, 0x761bf493
jg 0x40fd52
cmp eax, 0x71be5c71
je 0x410027
cmp eax, 0x758b8766
je 0x410047
cmp eax, 0x75c5e389
jne 0x40f7f0
mov eax, dword [ebp - 0x54]
xor ecx, ecx
push ecx
push ecx
push 0x20
push 1
push 3
push 0x80
push ecx
push dword [ebp - 0x48]
push dword [ebp - 0x1c]
push 0x120089
push dword [ebp - 0x24]
call eax
mov dword [ebp - 0x40], eax
push 0x465df6
push 0x77bf809f
call fcn.0044041c
add esp, 8
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], 0x8d9c2013
jmp 0x40f7f0
cmp eax, 0xf0e7aef6
je 0x40fbaa
cmp eax, 0xfcf1e5ea
je 0x410090
cmp eax, 0x4c620c4
jne 0x40f7f0
mov esi, dword [ebp - 0x14]
shl esi, 6
add esi, 0xfffffd40
mov dword [ebp - 0x14], esi
push 0x2f12
push esi
push 0x5c0f
push 0x1046
call fcn.004106db
add esp, 0x10
mov eax, 0xae119814
cmp esi, 0x72
jae 0x41022c
jmp 0x4103a7
cmp eax, 0x55209612
je 0x4100bd
cmp eax, 0x5b0b727c
je 0x4100f6
cmp eax, 0x6004a627
jne 0x40f7f0
mov esi, dword [ebp - 0x14]
add esi, 0xffffffe8
shr esi, 0x12
mov dword [ebp - 0x14], esi
push esi
call fcn.0040f7e0
add esp, 4
push esi
call fcn.0041067a
add esp, 4
mov dword [ebp - 0x10], 0xe8cfce0f
jmp 0x40f7f0
cmp eax, 0x8f9479dd
je 0x410112
cmp eax, 0x90474081
je 0x410168
cmp eax, 0x95d7dc67
jne 0x40f7f0
push 2
push 0x118
call fcn.0044e041
add esp, 8
mov dword [ebp - 0x28], eax
push 0x465dec
push dword [ebp - 0x28]
mov esi, dword [0x46f21c]
call esi
push dword [ebp - 0x38]
push dword [ebp - 0x28]
call esi
push dword [ebp - 0x28]
call dword [0x46f228]
mov word [ebp - 0x2e], ax
mov dword [ebp - 0x10], 0x3161f04f
jmp 0x40f7f0
cmp eax, 0x669806ef
je 0x410185
cmp eax, 0x683e07e5
je 0x4101bb
cmp eax, 0x6ca62761
jne 0x40f7f0
movzx eax, word [ebp - 0x2e]
add eax, eax
mov ecx, dword [ebp - 0x2c]
mov word [ecx], ax
push dword [ebp - 0x28]
call dword [0x46f228]
mov word [ebp - 0x30], ax
mov dword [ebp - 0x10], 0xa7e3ae00
jmp 0x40f7f0
cmp eax, 0xe8315faa
je 0x4101f8
cmp eax, 0xe8c2aa53
je 0x410311
cmp eax, 0xe8cfce0f
jne 0x40f7f0
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
xor esi, esi
inc esi
push esi
mov edi, 8
push edi
call fcn.0044e041
add esp, 8
mov dword [ebp - 0x2c], eax
push esi
push edi
call fcn.0044e041
add esp, 8
mov dword [ebp - 0x48], eax
push esi
push 0x18
call fcn.0044e041
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 4]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0x653a7835
jmp 0x40f7f0
cmp eax, 0x2d845916
je 0x410204
cmp eax, 0x3161f04f
je 0x410236
cmp eax, 0x32668996
jne 0x40f7f0
mov dword [ebp - 0x10], 0x95d7dc67
jmp 0x40f7f0
cmp eax, 0xb7c64cbb
je 0x410265
cmp eax, 0xc029a086
je 0x4102b1
cmp eax, 0xc2c24862
jne 0x40f7f0
imul eax, dword [ebp - 0x14], 0x420
shr eax, 5
and eax, 0x7fffe00
or eax, 0xeb
imul ecx, eax, 0xbb
mov dword [ebp - 0x14], ecx
mov eax, 0xae119814
cmp ecx, 0xa5
jl 0x4103a7
mov eax, 0x7b31aba1
jmp 0x4103a7
cmp eax, 0x761bf494
je 0x4102c7
cmp eax, 0x7b31aba1
je 0x4102fa
cmp eax, 0x7fb28c88
jne 0x40f7f0
mov ecx, dword [ebp - 0x18]
mov eax, ecx
shr eax, 0xf
imul eax, eax
imul edx, eax, 0x15c5
shr ecx, 6
and ecx, 0x3fffc00
dec edx
imul ecx, ecx, 0x4d
mov dword [ebp - 0x18], ecx
mov ecx, 0x6ca62761
cmp eax, edx
je 0x41001f
mov ecx, 0x3d25f776
jmp 0x41001f
cmp eax, 0x12a6f897
je 0x410388
cmp eax, 0x1599ac09
jne 0x40f7f0
imul eax, dword [ebp - 0x18], 0x11a0
add eax, 0xffffe7c4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x32668996
jmp 0x40f7f0
cmp eax, 0x3da592c4
jne 0x4103af
mov esi, dword [ebp - 0x14]
shl esi, 0x11
add esi, 0xdb000
mov dword [ebp - 0x14], esi
push esi
call fcn.0041067a
add esp, 4
push 0x37b9
push 0x1bf6
push esi
call fcn.004103d2
add esp, 0xc
mov dword [ebp - 0x10], 0x7b31aba1
jmp 0x40f7f0
mov eax, dword [ebp - 0x14]
sub eax, 0xffffff80
shr eax, 0xf
imul ecx, eax, 0x43090
shr ecx, 0xf
mov dword [ebp - 0x14], ecx
mov eax, 0xe8cfce0f
cmp ecx, 0xdf
je 0x4103a7
mov eax, 0x71be5c71
jmp 0x4103a7
imul esi, dword [ebp - 0x14], 0xdf00
add esi, 0xb2174e
mov dword [ebp - 0x14], esi
push 0x51fc
push esi
push 0x21ac
call fcn.004103d2
add esp, 0xc
push esi
call fcn.0040f7e0
add esp, 4
mov eax, 0x653a7835
cmp esi, 0xf5
jge 0x4103a7
mov eax, 0xc029a086
jmp 0x4103a7
imul esi, dword [ebp - 0x14], 0x3f29b2
add esi, 0xffffff04
mov dword [ebp - 0x14], esi
push 0x199e
push 0x31d9
push esi
push 0x5f45
call fcn.004106db
add esp, 0x10
push esi
call fcn.0040f7e0
add esp, 4
mov eax, 0x95d7dc67
cmp esi, 0x5d
jl 0x4103a7
mov eax, 0x90474081
jmp 0x4103a7
mov eax, dword [ebp - 0x18]
mov ecx, 0xa8
add eax, ecx
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x8319
dec edx
shr eax, 0xb
and eax, 0x7ffff
mov dword [ebp - 0x18], eax
mov eax, 0xfcf1e5ea
jmp 0x41034d
imul ecx, dword [ebp - 0x14], 0xa9
mov eax, ecx
shr eax, 4
mov dword [ebp - 0x14], eax
mov eax, 0x866f0aaf
cmp ecx, 0xa00
jb 0x41022c
jmp 0x4103a7
mov eax, dword [ebp - 0x50]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0xc], 0x40
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x14], edx
push 0x465df6
push 0xb5ca9f40
call fcn.0044041c
add esp, 8
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], 0xe8315faa
jmp 0x40f7f0
mov eax, dword [ebp - 0x14]
shr eax, 3
mov esi, 0x4c620c4
and eax, 0x1fffff00
mov dword [ebp - 0x14], eax
je 0x40ff8f
mov esi, 0xc2c24862
push eax
call fcn.0041067a
add esp, 4
mov dword [ebp - 0x10], esi
jmp 0x40f7f0
mov esi, dword [ebp - 0x14]
add esi, 0xffffffdd
mov eax, esi
shr eax, 0xf
mov dword [ebp - 0x14], eax
push eax
call fcn.0040f7e0
add esp, 4
mov eax, 0x2d845916
cmp esi, 0x108000
jae 0x41025b
jmp 0x4103a7
mov ecx, dword [ebp - 0x14]
mov eax, ecx
shr eax, 2
add eax, 0x7a
mov dword [ebp - 0x14], eax
mov eax, 0x749657a
cmp ecx, 0x1c0
jae 0x4103a7
mov eax, 0x4de30b13
jmp 0x4103a7
mov ecx, dword [ebp - 0x18]
mov eax, ecx
shr eax, 7
shr ecx, 0x12
imul eax, eax
imul edx, eax, 0x687
dec edx
add ecx, 0xffffffdb
mov dword [ebp - 0x18], ecx
mov ecx, 0xe8cfce0f
cmp edx, eax
je 0x41001f
mov ecx, 0xc029a086
mov dword [ebp - 0x10], ecx
jmp 0x40f7f0
movzx eax, word [ebp - 0x32]
add eax, 2
mov word [ebp - 0x34], ax
mov eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0x761bf494
jmp 0x40f7f0
mov eax, dword [ebp - 0x14]
mov esi, eax
shl esi, 5
sub esi, eax
sub esi, eax
shr esi, 6
mov dword [ebp - 0x14], esi
push 0x5c0a
push esi
push 0x1e11
push 0x4536
call fcn.004106db
add esp, 0x10
push 0x4e67
push esi
push 0x595f
call fcn.004103d2
add esp, 0xc
mov dword [ebp - 0x10], 0xae119814
jmp 0x40f7f0
mov esi, dword [ebp - 0x14]
shr esi, 3
mov dword [ebp - 0x14], esi
push esi
call fcn.0040f7e0
add esp, 4
mov eax, 0xb7c64cbb
cmp esi, 0xfe
je 0x4103a7
mov eax, 0x683e07e5
jmp 0x4103a7
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push 2
push 0x104
call fcn.0044e041
add esp, 8
mov dword [ebp - 0x38], eax
push 0x465b38
push 0x7328f505
call fcn.0044041c
add esp, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0xae119814
jmp 0x40f7f0
mov eax, dword [ebp - 0x58]
push dword [ebp - 0x40]
call eax
cmp dword [ebp - 0x40], 0
setns byte [ebp - 0x1d]
mov dword [ebp - 0x10], 0x7fb28c88
jmp 0x40f7f0
mov esi, dword [ebp - 0x14]
shl esi, 5
add esi, 0xffffe760
shr esi, 0xa
add esi, 0xffffff86
mov edi, esi
shr edi, 6
mov dword [ebp - 0x14], edi
push 0x59bd
push 0x56c
push edi
call fcn.004103d2
add esp, 0xc
push 0x49b8
push edi
push 0x5775
call fcn.004103d2
add esp, 0xc
mov eax, 0xae119814
cmp esi, 0x1a80
jae 0x41022c
jmp 0x4103a7
mov eax, dword [ebp - 0x14]
shl eax, 0x15
add eax, 0x4074000
shr eax, 3
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x653a7835
jmp 0x40f7f0
mov eax, dword [ebp - 0x18]
mov ecx, 0xc4
add eax, ecx
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0xff1
shl eax, 0x1c
dec edx
add eax, 0xfffffff1
mov dword [ebp - 0x18], eax
mov eax, 0xae119814
cmp edx, ecx
je 0x4103a7
mov eax, 0xf0e7aef6
jmp 0x4103a7
imul esi, dword [ebp - 0x14], 0x118
add esi, 0xfffff54b
mov dword [ebp - 0x14], esi
push esi
call fcn.0041067a
add esp, 4
push esi
call fcn.0040f7e0
add esp, 4
mov eax, 0x6004a627
cmp esi, 0xbb
jge 0x4103a7
mov eax, 0x8f9479dd
jmp 0x4103a7
mov dword [ebp - 0x10], 0x75c5e389
jmp 0x40f7f0
imul eax, dword [ebp - 0x14], 0x350000
add eax, 0xffffff0e
shr eax, 0xa
imul ecx, eax, 0x4f
mov eax, ecx
shr eax, 3
mov dword [ebp - 0x14], eax
mov eax, 0x50fb5f56
cmp ecx, 0x58
jb 0x4103a7
mov eax, 0x653a7835
jmp 0x4103a7
mov eax, dword [ebp - 0x18]
mov ecx, eax
shr ecx, 0xa
imul ecx, ecx
shr eax, 0xf
imul edx, ecx, 0x64af
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0x64d557af
cmp ecx, edx
je 0x4103a7
mov eax, 0x6ca62761
jmp 0x4103a7
imul esi, dword [ebp - 0x14], 0x8b
add esi, 0xffffe548
mov dword [ebp - 0x14], esi
push esi
call fcn.0040f7e0
add esp, 4
push 0x5b12
push 0x37d0
push 0x418f
push esi
call fcn.004106db
add esp, 0x10
mov eax, 0xe8cfce0f
cmp esi, 0xb8
jb 0x4103a7
mov eax, 0xe5557267
jmp 0x4103a7
movzx eax, word [ebp - 0x30]
add eax, eax
mov word [ebp - 0x32], ax
mov dword [ebp - 0x10], 0x71be5c71
jmp 0x40f7f0
mov ecx, dword [ebp - 0x18]
mov eax, 0xf8
add ecx, eax
mov eax, ecx
shr eax, 4
imul ecx, ecx
imul edx, ecx, 0x2c7
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xc029a086
cmp ecx, edx
je 0x4103a7
mov eax, 0x50fb5f56
jmp 0x4103a7
mov eax, dword [ebp - 0x3c]
movzx eax, word [eax]
cmp eax, 0xf0b
je 0x410320
movzx eax, ax
cmp eax, 0xcd03
jne 0x410358
popal
jmp 0x410312
mov eax, dword [ebp - 0x18]
shr eax, 8
add eax, 0xcc
shr eax, 9
mov ecx, eax
imul ecx, eax
add eax, 0xc4
imul edx, ecx, 0x1619
shr eax, 8
dec edx
add eax, 0x6d
mov dword [ebp - 0x18], eax
mov eax, 0x3da592c4
cmp edx, ecx
je 0x4103a7
mov eax, 0xe8c2aa53
jmp 0x4103a7
mov eax, dword [ebp - 0x18]
add eax, 0x79
shr eax, 5
mov ecx, eax
imul ecx, eax
shl eax, 7
imul edx, ecx, 0x1f81
add eax, 0xaa
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0x2773283d
cmp ecx, edx
je 0x4103a7
mov eax, 0x32668996
jmp 0x4103a7
imul ecx, dword [ebp - 0x14], 0x2a7800
add ecx, 0x335100
mov dword [ebp - 0x14], ecx
mov eax, 0x9d5c7ec7
cmp ecx, 0x26
jl 0x4103a7
mov eax, 0x21806df3
mov dword [ebp - 0x10], eax
jmp 0x40f7f0
cmp eax, 0x3d25f776
jne 0x40f7f0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
cmp byte [ebp - 0x1d], 0
jne 0x4103c7
xor eax, eax
mov ecx, dword [ebp - 0x24]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret