Function at 0x409102
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov edi, dword [ebp + 8]
mov esi, 2
mov ebx, 0x104
push esi
push ebx
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x3c], eax
push 0x442b32
push 0x7328f505
call fcn.004204d4
add esp, 8
push ebx
push dword [ebp - 0x3c]
push edi
call eax
lea eax, [ebp - 0x38]
mov dword [eax], 0
xor ebx, ebx
inc ebx
push ebx
push 0x18
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x24], eax
mov edi, 8
push ebx
push edi
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x30], eax
push ebx
push edi
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x4c], eax
push esi
push 0x118
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 4]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov al, byte [eax]
mov byte [ebp - 0x25], al
mov dword [ebp - 0x10], 0x8df67443
mov eax, dword [ebp - 0x10]
cmp eax, 0xf3b08f3b
jle 0x409230
cmp eax, 0x474407ee
jle 0x4092a9
cmp eax, 0x5df9003b
jle 0x40936c
cmp eax, 0x69ca6fbb
jle 0x4094c4
cmp eax, 0x76435af4
jle 0x4096f1
cmp eax, 0x76435af5
je 0x409b9c
cmp eax, 0x7a69fb5a
je 0x409bd2
cmp eax, 0x7bc14f7d
jne 0x40919d
mov eax, dword [ebp - 0x14]
shr eax, 0x15
imul esi, eax, 0x2c
add esi, 0x5d
mov dword [ebp - 0x14], esi
push esi
call fcn.00408a8c
add esp, 4
push 0x4a2a
push 0x134b
push 0x28b
push esi
call fcn.00409102
add esp, 0x10
mov dword [ebp - 0x10], 0xcdf73010
jmp 0x40919d
cmp eax, 0xc88cc090
jle 0x409310
cmp eax, 0xd7ffe92c
jle 0x4093d8
cmp eax, 0xe1affffa
jle 0x40950d
cmp eax, 0xe8d48061
jle 0x409731
cmp eax, 0xe8d48062
je 0x409be7
cmp eax, 0xee58a555
je 0x409c1c
cmp eax, 0xf16f90e3
jne 0x40919d
mov eax, dword [ebp - 0x14]
add eax, 9
shr eax, 8
imul eax, eax, 0xf5
add eax, 0xd4
mov dword [ebp - 0x14], eax
push eax
call fcn.004090a1
add esp, 4
mov dword [ebp - 0x10], 0xde8dcad1
jmp 0x40919d
cmp eax, 0x25574861
jle 0x409416
cmp eax, 0x2c25813d
jg 0x409553
cmp eax, 0x2767e814
jle 0x40976a
cmp eax, 0x29144ff4
je 0x409c49
cmp eax, 0x2c2502ac
jne 0x40a223
mov eax, dword [ebp - 0x18]
shr eax, 9
lea ecx, [eax + 0x2b]
imul ecx, ecx
imul edx, ecx, 0x28d3
shl eax, 0xc
dec edx
add eax, 0x5ff50
mov dword [ebp - 0x18], eax
mov eax, 0xa3248a88
cmp ecx, edx
jne 0x409a55
jmp 0x40a21b
cmp eax, 0x927b6d04
jg 0x40946a
cmp eax, 0x8d07adda
jg 0x40958c
cmp eax, 0x8770bd6c
jg 0x4097a5
cmp eax, 0x81536e3e
je 0x409c6b
cmp eax, 0x8284f69c
jne 0x40919d
push 0x442dd6
push dword [ebp - 0x1c]
call dword [0x44c108]
mov ecx, 0x32f73786
test eax, eax
je 0x40a1a1
mov ecx, 0xd28bd84d
jmp 0x40a1a1
cmp eax, 0x50d29205
jg 0x4095c8
cmp eax, 0x4b99c339
jg 0x4097f4
cmp eax, 0x474407ef
je 0x409ca6
cmp eax, 0x47e0a22a
jne 0x40919d
mov eax, dword [ebp - 0x14]
mov ecx, 0xffffff2e
add eax, ecx
shr eax, 0xc
imul esi, eax, 0x85
add esi, 0x178a
shr esi, 3
mov dword [ebp - 0x14], esi
push esi
call fcn.004090a1
add esp, 4
mov eax, 0xcc362a7d
cmp esi, 0x2f
je 0x40a21b
mov eax, 0x4b99c33a
jmp 0x40a21b
cmp eax, 0xd034e112
jg 0x409630
cmp eax, 0xcc362a7c
jg 0x40984d
cmp eax, 0xc88cc091
je 0x409ce2
cmp eax, 0xca22b1b0
jne 0x40919d
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], 0x7a69fb5a
jmp 0x40919d
cmp eax, 0xffaccb42
jg 0x409665
cmp eax, 0xfa2033a1
jg 0x40988f
cmp eax, 0xf3b08f3c
je 0x409d7c
cmp eax, 0xf408beb4
jne 0x40919d
mov eax, dword [ebp - 0x14]
shr eax, 2
imul ecx, eax, 0x9c
add ecx, 0xffffff57
mov dword [ebp - 0x14], ecx
mov eax, 0xde8dcad1
cmp ecx, 0x30
jae 0x40a07e
jmp 0x40a21b
cmp eax, 0xbaaa10b0
jg 0x4096b5
cmp eax, 0xa3248a87
jg 0x4098d0
cmp eax, 0x927b6d05
je 0x409d93
cmp eax, 0x97ab45a0
jne 0x40919d
mov eax, dword [ebp - 0x14]
shr eax, 5
imul esi, eax, 0x4455
add esi, 0xffffff27
mov dword [ebp - 0x14], esi
push esi
call fcn.004090a1
add esp, 4
push esi
push 0x5633
push 0xad3
jmp 0x40987b
cmp eax, 0x600ad2e6
jg 0x409907
cmp eax, 0x5df9003c
je 0x409dd6
cmp eax, 0x5ea1deaa
jne 0x40919d
mov eax, dword [ebp - 0x14]
shr eax, 0xa
and eax, 0xffffffe0
imul ecx, eax, 0xa4
add ecx, 0xffffffc8
mov dword [ebp - 0x14], ecx
mov eax, 0x927b6d05
cmp ecx, 0x79
jb 0x409a55
jmp 0x40a21b
cmp eax, 0xdcf2ba7c
jg 0x409940
cmp eax, 0xd7ffe92d
je 0x409de8
cmp eax, 0xda35ffc3
jne 0x40919d
push 0x442dd2
push dword [ebp - 0x1c]
call dword [0x44c108]
mov ecx, 0xd7ffe92d
test eax, eax
je 0x40a1a1
mov ecx, 0xf3b08f3c
jmp 0x40a1a1
cmp eax, 0x3eb92da3
jg 0x409a15
cmp eax, 0x2c25813e
je 0x409e03
cmp eax, 0x32f73786
jne 0x40919d
mov eax, dword [ebp - 0x18]
shl eax, 0x13
add eax, 0xffffffb3
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xbac89fe7
jmp 0x40919d
cmp eax, 0x901d2ac3
jg 0x409a5f
cmp eax, 0x8d07addb
je 0x409e28
cmp eax, 0x8df67443
jne 0x40919d
mov cl, byte [ebp - 0x25]
mov eax, 0xdcf2ba7d
cmp cl, 0xcc
je 0x40a21b
mov eax, 0xa64c72d2
jmp 0x40a21b
cmp eax, 0x5724a538
jg 0x409a90
cmp eax, 0x50d29206
je 0x409e5a
cmp eax, 0x563da99d
jne 0x40919d
imul esi, dword [ebp - 0x14], 0xbe00
add esi, 0x298f9f
mov dword [ebp - 0x14], esi
push esi
call fcn.004090a1
add esp, 4
push 0x54cc
push 0x1916
push 0xe58
push esi
call fcn.00409102
add esp, 0x10
mov eax, 0x25574862
cmp esi, 0xc2
jl 0x409f27
jmp 0x40a21b
cmp eax, 0xd28bd84c
jg 0x409ac8
cmp eax, 0xd034e113
je 0x409e91
cmp eax, 0xd0c1725b
jne 0x40919d
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x10], 0xca22b1b0
mov dword [ebp - 0x44], eax
jmp 0x40919d
cmp eax, 0x5ec6b78
jg 0x409b0f
cmp eax, 0xffaccb43
je 0x409eb6
cmp eax, 0x3c1e323
jne 0x40919d
imul ecx, dword [ebp - 0x14], 0x508000
mov eax, ecx
shr eax, 8
add eax, 0xffffff12
mov dword [ebp - 0x14], eax
mov eax, 0xde8dcad1
cmp ecx, 0xfe00
jb 0x40a21b
mov eax, 0x563da99d
jmp 0x40a21b
cmp eax, 0xbc090d01
jg 0x409b4e
cmp eax, 0xbaaa10b1
je 0x409ed7
cmp eax, 0xbac89fe7
jne 0x40919d
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0
mov eax, 0x2c2502ac
je 0x40a21b
mov eax, 0xc0093d18
jmp 0x40a21b
cmp eax, 0x69ca6fbc
je 0x409ef2
cmp eax, 0x6ed0da93
jne 0x40919d
mov ecx, dword [ebp - 0x14]
shl ecx, 9
add ecx, 0xffff0800
mov eax, 0x4c7378af
and ecx, 0xfffff800
mov dword [ebp - 0x14], ecx
je 0x40a21b
mov eax, 0x69ca6fbc
jmp 0x40a21b
cmp eax, 0xe1affffb
je 0x409f31
cmp eax, 0xe5deeb78
jne 0x40919d
imul eax, dword [ebp - 0x18], 0x97
mov ecx, eax
imul ecx, eax
shr eax, 0xa
imul edx, ecx, 0x3309
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xcc362a7d
jmp 0x40a0a3
cmp eax, 0x25574862
je 0x409f6d
cmp eax, 0x2752c169
jne 0x40919d
push 0x442dd2
push dword [ebp - 0x1c]
call dword [0x44c108]
mov ecx, 0x29144ff4
test eax, eax
je 0x40a1a1
mov ecx, 0x3eb92da4
jmp 0x40a1a1
cmp eax, 0x8770bd6d
je 0x409fb7
cmp eax, 0x8909408f
jne 0x40919d
mov eax, dword [ebp - 0x14]
shr eax, 8
add eax, 0xffffffa7
shr eax, 0xa
imul esi, eax, 0xea
mov dword [ebp - 0x14], esi
push esi
call fcn.00408a8c
add esp, 4
mov eax, 0xcc362a7d
cmp esi, 0xd8
jb 0x40a21b
mov eax, 0xffaccb43
jmp 0x40a21b
cmp eax, 0x4b99c33a
je 0x409fe9
cmp eax, 0x4c7378af
jne 0x40919d
imul esi, dword [ebp - 0x14], 0x5d
shr esi, 6
mov dword [ebp - 0x14], esi
push 0x60e0
push esi
push 0x518c
call fcn.00408f28
add esp, 0xc
push 0xf9a
push esi
push 0x3b89
call fcn.00408f28
add esp, 0xc
mov eax, 0x8284f69c
cmp esi, 0x2c
jne 0x40a132
jmp 0x40a21b
cmp eax, 0xcc362a7d
je 0x40a024
cmp eax, 0xcdf73010
jne 0x40919d
mov eax, dword [ebp - 0x14]
shr eax, 1
add eax, 0x88
mov dword [ebp - 0x14], eax
push 0x54b9
push eax
push 0x21d3
call fcn.00408f28
add esp, 0xc
mov dword [ebp - 0x10], 0xcc362a7d
jmp 0x40919d
cmp eax, 0xfa2033a2
je 0x40a088
cmp eax, 0xfbef90f6
jne 0x40919d
mov esi, dword [ebp - 0x14]
add esi, 0xffffff84
shr esi, 5
mov dword [ebp - 0x14], esi
push esi
call fcn.00408a8c
add esp, 4
mov eax, 0x7bc14f7d
cmp esi, 0xbc
jne 0x40a167
jmp 0x40a21b
cmp eax, 0xa3248a88
je 0x40a0b5
cmp eax, 0xa64c72d2
jne 0x40919d
mov eax, dword [ebp - 0x50]
movzx eax, word [eax]
cmp eax, 0xf0b
je 0x409b8d
movzx eax, ax
cmp eax, 0xcd03
je 0x409b8d
jmp 0x409956
cmp eax, 0x600ad2e7
je 0x40a0e6
cmp eax, 0x62a867f7
jne 0x40919d
push 0x442dbe
push 0xee81f141
call fcn.004204d4
add esp, 8
push dword [ebp - 0x38]
call eax
mov dword [ebp - 0x10], 0xfa2033a2
jmp 0x40919d
cmp eax, 0xdcf2ba7d
je 0x409b8d
cmp eax, 0xde8dcad1
jne 0x40919d
push 0x442db4
push dword [ebp - 0x2c]
mov esi, dword [0x44c104]
call esi
push dword [ebp - 0x3c]
push dword [ebp - 0x2c]
call esi
push dword [ebp - 0x2c]
mov esi, dword [0x44c110]
call esi
add eax, eax
mov ecx, dword [ebp - 0x30]
mov word [ecx], ax
push dword [ebp - 0x2c]
call esi
add eax, eax
add eax, 2
mov ecx, dword [ebp - 0x30]
mov word [ecx + 2], ax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x24]
mov dword [eax], 0x18
mov eax, dword [ebp - 0x24]
mov esi, 0
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc], 0x40
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x10], esi
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x14], esi
push 0x442dbe
push 0xb5ca9f40
call fcn.004204d4
add esp, 8
push esi
push esi
push 0x4021
push 1
push 7
push esi
push esi
push dword [ebp - 0x4c]
push dword [ebp - 0x24]
push 0x100001
lea ecx, [ebp - 0x38]
push ecx
call eax
mov ecx, 0x901d2ac4
test eax, eax
jns 0x40a1a1
mov ecx, 0xee58a555
jmp 0x40a1a1
cmp eax, 0x3eb92da4
je 0x40a104
cmp eax, 0x3f401803
jne 0x40919d
imul esi, dword [ebp - 0x14], 0xfa
add esi, 0x5eba
mov dword [ebp - 0x14], esi
push esi
call fcn.00408a8c
add esp, 4
mov eax, 0x5ea1deaa
cmp esi, 0xe1
jge 0x40a21b
mov eax, 0x62a867f7
jmp 0x40a21b
cmp eax, 0x901d2ac4
je 0x40a13c
cmp eax, 0x92431f74
jne 0x40919d
imul eax, dword [ebp - 0x18], 0x2cc0
add eax, 0x1a8351
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x62a867f7
jmp 0x40919d
cmp eax, 0x5724a539
je 0x40a171
cmp eax, 0x57e3012d
jne 0x40919d
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
shr eax, 3
and eax, 0x1ffffc00
or eax, 0xe1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x25574862
jmp 0x40919d
cmp eax, 0xd28bd84d
je 0x40a1a9
cmp eax, 0xd4414439
jne 0x40919d
mov eax, dword [ebp - 0x14]
mov ecx, 0xffffc
and eax, ecx
mov dword [ebp - 0x14], eax
push eax
push 0x34bd
push 0x260d
push 0x106b
call fcn.00409102
add esp, 0x10
mov dword [ebp - 0x10], 0xcc362a7d
jmp 0x40919d
cmp eax, 0x5ec6b79
je 0x40a1d2
cmp eax, 0x2070b8d7
jne 0x40919d
mov eax, dword [ebp - 0x14]
shr eax, 8
imul eax, eax, 0x79
shr eax, 0x10
add eax, 0xf5
mov dword [ebp - 0x14], eax
push eax
call fcn.004090a1
add esp, 4
mov dword [ebp - 0x10], 0x927b6d05
jmp 0x40919d
cmp eax, 0xbc090d02
je 0x40a1ed
cmp eax, 0xc0093d18
jne 0x40919d
imul eax, dword [ebp - 0x18], 0xd5
shr eax, 9
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x52fb
dec edx
shl eax, 9
lea eax, [eax + eax*2]
mov dword [ebp - 0x18], eax
mov eax, 0xda35ffc3
jmp 0x40a1c7
popal
jmp 0x409b8e
imul eax, dword [ebp - 0x14], 0x21000
mov esi, 0xda35ffc3
add eax, 0xe4f000
mov dword [ebp - 0x14], eax
je 0x409bb7
mov esi, 0xcc362a7d
push eax
push 0x6318
push 0x494e
call fcn.00408f28
add esp, 0xc
mov dword [ebp - 0x10], esi
jmp 0x40919d
mov eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], 0x5df9003c
mov dword [ebp - 0x48], eax
jmp 0x40919d
mov eax, dword [ebp - 0x14]
shl eax, 0x1c
lea esi, [eax + eax*2]
mov dword [ebp - 0x14], esi
push esi
call fcn.004090a1
add esp, 4
push esi
call fcn.00408a8c
add esp, 4
mov eax, 0x47e0a22a
test esi, esi
je 0x40a21b
mov eax, 0x6ed0da93
jmp 0x40a21b
mov eax, dword [ebp - 0x18]
add eax, 0xffffffa5
shr eax, 2
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x60db
dec edx
shl eax, 4
mov dword [ebp - 0x18], eax
mov eax, 0xde8dcad1
cmp edx, ecx
jne 0x40a0ab
jmp 0x40a21b
mov eax, dword [ebp - 0x18]
shl eax, 0x10
lea eax, [eax + eax*4]
mov ecx, eax
shr ecx, 0xc
shr eax, 5
sub eax, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xd0c1725b
jmp 0x40919d
mov eax, dword [ebp - 0x18]
add eax, 0xffffffb9
shr eax, 0xb
add eax, 0x15
mov ecx, eax
shr ecx, 8
imul eax, eax
imul edx, eax, 0x8089
add ecx, 0xffffff55
dec edx
mov dword [ebp - 0x18], ecx
mov ecx, 0xd034e113
cmp edx, eax
je 0x40a1a1
mov ecx, 0xc88cc091
jmp 0x40a1a1
mov esi, dword [ebp - 0x14]
shl esi, 5
add esi, 0xfffff958
mov dword [ebp - 0x14], esi
push esi
call fcn.00408a8c
add esp, 4
push esi
call fcn.004090a1
add esp, 4
mov eax, 0xde8dcad1
cmp esi, 0xb7
jae 0x40a21b
mov eax, 0x3f401803
jmp 0x40a21b
push 2
push 0x104
call fcn.0042bc6e
add esp, 8
mov esi, eax
push dword [ebp - 0x3c]
push eax
mov edi, dword [0x44c104]
call edi
push 0x4411b8
push esi
call edi
push dword [ebp - 0x1c]
push esi
call edi
push 0x10
call fcn.0042c9f4
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + 0x38]
and ecx, 0x10
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x14]
mov edx, dword [edx]
shl edx, 4
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
mov dword [ebx + edx], esi
mov dword [ebx + edx + 4], edi
mov eax, dword [eax + 8]
mov dword [ebx + edx + 8], eax
mov dword [ebx + edx + 0xc], ecx
mov eax, dword [ebp + 0x14]
inc dword [eax]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
mov eax, 0x62a867f7
je 0x40a21b
mov eax, 0x50d29206
jmp 0x40a21b
imul eax, dword [ebp - 0x18], 0xa70000
or eax, 0x9e
imul eax, eax, 0xe2
jmp 0x40a1de
push 2
push 0x104
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
add eax, 0x44
mov ecx, dword [ebp - 0x20]
push dword [ecx + 0x3c]
push eax
push dword [ebp - 0x1c]
call fcn.00424800
add esp, 0xc
cmp dword [ebp - 0x1c], 0
mov eax, 0xd0c1725b
je 0x40a21b
mov eax, 0x600ad2e7
jmp 0x40a21b
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0x927b6d05
jmp 0x40919d
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0
mov eax, 0x92431f74
je 0x40a21b
mov eax, 0x5ec6b79
jmp 0x40a21b
push 0x442ddc
push dword [ebp - 0x1c]
call dword [0x44c108]
mov ecx, 0xe1affffb
test eax, eax
je 0x40a1a1
mov ecx, 0x81536e3e
jmp 0x40a1a1
mov eax, dword [ebp - 0x18]
shr eax, 6
imul ecx, eax, 0x4d64
imul eax, eax
imul edx, eax, 0x39db
dec edx
shr ecx, 1
mov dword [ebp - 0x18], ecx
mov ecx, 0xbaaa10b1
cmp edx, eax
je 0x40a1a1
mov ecx, 0x2767e815
jmp 0x40a1a1
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x33]
add eax, 0xdb
imul ecx, ecx
imul edx, ecx, 0x1065
shr eax, 9
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xcc362a7d
cmp ecx, edx
je 0x409e83
mov eax, 0xca22b1b0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x44], eax
jmp 0x40919d
push 0x442dd6
push dword [ebp - 0x1c]
call dword [0x44c108]
mov ecx, 0xd0c1725b
test eax, eax
je 0x40a1a1
mov ecx, 0x5724a539
jmp 0x40a1a1
mov ecx, dword [ebp - 0x14]
add ecx, ecx
and ecx, 0xffffe000
mov dword [ebp - 0x14], ecx
mov eax, 0x2070b8d7
cmp ecx, 0x1a
jl 0x40a167
jmp 0x40a21b
imul eax, dword [ebp - 0x14], 0x150000
add eax, 0x11f2a
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xd4414439
jmp 0x40919d
mov eax, dword [ebp - 0x14]
mov ecx, eax
shl ecx, 7
lea esi, [eax + ecx]
add esi, 0xffffc001
mov dword [ebp - 0x14], esi
push 0x4345
push esi
push 0x3a10
call fcn.00408f28
add esp, 0xc
mov eax, 0x8284f69c
cmp esi, 0x67
jae 0x40a21b
mov eax, 0x927b6d05
jmp 0x40a21b
imul eax, dword [ebp - 0x18], 0x43
add eax, 0xffffc681
imul ecx, eax, 0x58000
imul eax, eax
imul edx, eax, 0x778b
add ecx, 0xffffeb08
dec edx
shr ecx, 6
mov dword [ebp - 0x18], ecx
mov ecx, 0x57e3012d
cmp edx, eax
je 0x40a1a1
mov ecx, 0xd0c1725b
jmp 0x40a1a1
push 0x442dbe
push 0x5a10633e
call fcn.004204d4
add esp, 8
xor ecx, ecx
push ecx
push dword [ebp - 0x34]
push ecx
push 2
push 0x4800
push dword [ebp - 0x40]
push dword [ebp - 0x4c]
push ecx
push ecx
push ecx
push dword [ebp - 0x38]
call eax
mov ecx, 0x5df9003c
test eax, eax
jns 0x409fa9
mov ecx, 0x8d07addb
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
jmp 0x40919d
mov esi, dword [ebp - 0x14]
shl esi, 0x10
mov dword [ebp - 0x14], esi
push esi
call fcn.00408a8c
add esp, 4
push esi
call fcn.00408a8c
add esp, 4
mov eax, 0xcc362a7d
test esi, esi
je 0x40a21b
mov eax, 0x2752c169
jmp 0x40a21b
imul esi, dword [ebp - 0x14], 0x43
add esi, 0xd2
mov dword [ebp - 0x14], esi
push esi
push 0x20ee
push 0x41c8
call fcn.00408f28
add esp, 0xc
mov eax, 0x25574862
cmp esi, 0xc6
jb 0x40a21b
mov eax, 0x8284f69c
jmp 0x40a21b
xor edi, edi
inc edi
push edi
push 8
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x34], eax
mov esi, dword [ebp + 0xc]
push esi
mov ebx, dword [0x44c110]
call ebx
add eax, eax
mov ecx, dword [ebp - 0x34]
mov word [ecx], ax
push esi
call ebx
add eax, eax
add eax, 2
mov ecx, dword [ebp - 0x34]
mov word [ecx + 2], ax
mov eax, dword [ebp - 0x34]
mov dword [eax + 4], esi
push edi
push 0x4800
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
mov eax, 0xe5deeb78
je 0x40a21b
mov eax, 0x25574862
jmp 0x40a21b
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x25]
imul ecx, ecx
imul edx, ecx, 0x4905
dec edx
add eax, 0xffffffd1
mov dword [ebp - 0x18], eax
mov eax, 0x474407ef
cmp ecx, edx
je 0x40a21b
mov eax, 0x2767e815
jmp 0x40a21b
imul esi, dword [ebp - 0x14], 0xb6
add esi, 0xffff79a2
mov dword [ebp - 0x14], esi
push esi
call fcn.004090a1
add esp, 4
mov eax, 0x25574862
cmp esi, 0x7f
ja 0x40a21b
mov eax, 0xf408beb4
jmp 0x40a21b
imul eax, dword [ebp - 0x18], 0xda00
add eax, 0x16fe00
shr eax, 0xa
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x2752c169
jmp 0x40919d
mov eax, dword [ebp - 0x18]
mov ecx, 0xffffff2e
add eax, ecx
mov ecx, eax
imul ecx, eax
shr eax, 0xe
imul edx, ecx, 0x5213
dec edx
add eax, 0xb7
mov dword [ebp - 0x18], eax
mov eax, 0xfbef90f6
cmp ecx, edx
je 0x40a21b
mov eax, 0xda35ffc3
jmp 0x40a21b
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x71]
imul ecx, ecx
imul edx, ecx, 0x7e9
dec edx
imul eax, eax, 0x2e68
add eax, 0x7cb78
mov dword [ebp - 0x18], eax
mov eax, 0xde8dcad1
cmp ecx, edx
je 0x40a21b
mov eax, 0xcc362a7d
jmp 0x40a21b
mov ecx, dword [ebp - 0x18]
mov eax, ecx
shl eax, 7
sub eax, ecx
add eax, 0xffffff35
imul ecx, eax, 0x4ec
imul eax, eax
imul edx, eax, 0x5b89
dec edx
mov dword [ebp - 0x18], ecx
mov ecx, 0xe8d48062
cmp edx, eax
je 0x40a1a1
mov ecx, 0x2c25813e
mov dword [ebp - 0x10], ecx
jmp 0x40919d
mov ecx, dword [ebp - 0x18]
shr ecx, 0xd
imul eax, ecx, 0x19e
imul ecx, ecx
imul edx, ecx, 0x9f3
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xcc362a7d
cmp edx, ecx
je 0x40a21b
mov eax, 0xd034e113
jmp 0x40a21b
imul eax, dword [ebp - 0x18], 0xd3000
add eax, 0xffffe900
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x8284f69c
jmp 0x40919d
mov eax, dword [ebp - 0x18]
shr eax, 0xa
add eax, 0xffffff7f
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x44b1
and eax, 0xffffffe0
shl eax, 7
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xdcf2ba7d
cmp edx, ecx
je 0x40a21b
mov eax, 0xde8dcad1
mov dword [ebp - 0x10], eax
jmp 0x40919d
cmp eax, 0x2767e815
jne 0x40919d
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret