Function at 0x409690
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x10], 0x4db0de1a
mov eax, dword [ebp - 0x10]
cmp eax, 0xe6de895f
jle 0x409713
cmp eax, 0x283a337b
jle 0x4097a0
cmp eax, 0x5a6fe9fc
jle 0x409856
cmp eax, 0x62c3461f
jle 0x4099aa
cmp eax, 0x730a0d76
jg 0x409c0c
cmp eax, 0x62c34620
je 0x409faf
cmp eax, 0x62ca3d15
je 0x409ffa
cmp eax, 0x6820ca0e
jne 0x4096a6
mov eax, dword [ebp - 0x18]
shr eax, 0xc
imul eax, eax, 0x4f
add eax, 0x333a
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xdf05eb88
jmp 0x4096a6
cmp eax, 0xb63e5437
jle 0x4097e7
cmp eax, 0xcb7889c9
jg 0x4098b2
cmp eax, 0xbf241f65
jle 0x4099ec
cmp eax, 0xc9fd3be6
jg 0x409c64
cmp eax, 0xbf241f66
je 0x40a029
cmp eax, 0xc1ec11a3
je 0x40a08e
cmp eax, 0xc94584cd
jne 0x4096a6
mov ecx, dword [ebp - 0x14]
lea eax, [ecx - 0xd1]
imul eax, eax
lea ecx, [ecx*8 - 0x5fa]
imul edx, eax, 0x3b45
shr ecx, 2
dec edx
add ecx, 0xffffff4e
shr ecx, 9
mov dword [ebp - 0x14], ecx
mov ecx, 0x58571e1f
cmp eax, edx
je 0x40a602
mov ecx, 0xe68bcad3
jmp 0x40a602
cmp eax, 0xdd9a7ca
jg 0x4098f5
cmp eax, 0x4fdbcda
jg 0x409a24
cmp eax, 0xed2997ec
jle 0x409ca4
cmp eax, 0xed2997ed
je 0x40a0a2
cmp eax, 0xeeb7f01e
je 0x40a0b4
cmp eax, 0xfa6af97b
je 0x40a5d0
jmp 0x4096a6
cmp eax, 0x98632caa
jg 0x40994f
cmp eax, 0x8f686211
jg 0x409a7d
cmp eax, 0x867425c2
jle 0x409cd2
cmp eax, 0x867425c3
je 0x40a0cf
cmp eax, 0x87953c5f
je 0x40a0eb
cmp eax, 0x8ad94e78
jne 0x4096a6
push dword [ebp - 0x30]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.0040bd29
add esp, 0xc
mov eax, dword [ebp - 0x24]
push dword [eax]
call fcn.004041d1
add esp, 4
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x10], 0x82985f3c
jmp 0x4096a6
cmp eax, 0x3ec7d907
jg 0x409aca
cmp eax, 0x32ec4f61
jle 0x409cf4
cmp eax, 0x32ec4f62
je 0x40a0f7
cmp eax, 0x351ab533
je 0x40a111
cmp eax, 0x3734ffab
jne 0x4096a6
push dword [ebp - 0x48]
push dword [ebp - 0x3c]
call dword [0x469140]
push 0xc
call fcn.00448a24
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xdd9a7cb
jmp 0x4096a6
cmp eax, 0xdcc61de4
jg 0x409b2b
cmp eax, 0xcf793941
jle 0x409d2e
cmp eax, 0xcf793942
je 0x40a127
cmp eax, 0xd33e74dc
je 0x40a161
cmp eax, 0xdc74d402
jne 0x4096a6
mov dword [ebp - 0x10], 0xcf793942
jmp 0x4096a6
cmp eax, 0x137cafbe
jg 0x409b90
cmp eax, 0xee7ccac
jle 0x409d50
cmp eax, 0xee7ccad
je 0x40a179
cmp eax, 0xef83245
je 0x40a18e
cmp eax, 0xffad50b
jne 0x4096a6
mov ecx, dword [ebp - 0x18]
add ecx, 0xffffffcd
shr ecx, 1
mov dword [ebp - 0x18], ecx
mov eax, 0xd33e74dc
cmp ecx, 0x7e
je 0x40a587
mov eax, 0x5a821ab
jmp 0x40a587
cmp eax, 0xa2d06298
jg 0x409bc8
cmp eax, 0x9c8f949d
jle 0x409d7b
cmp eax, 0x9c8f949e
je 0x40a1a3
cmp eax, 0xa0780d1b
je 0x40a1af
cmp eax, 0xa262b6ef
jne 0x4096a6
mov eax, dword [ebp - 0x44]
add eax, 0x18
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp dword [eax], 0
mov eax, 0x42b452fa
je 0x40a587
mov eax, 0x867425c3
jmp 0x40a587
cmp eax, 0x5d4d692b
jle 0x409ddf
cmp eax, 0x5d4d692c
je 0x40a1bb
cmp eax, 0x5e10f3af
je 0x40a1cf
cmp eax, 0x5ffa97a3
jne 0x4096a6
push ebx
push dword [ebp - 0x38]
call dword [0x469140]
mov dword [ebp - 0x10], 0x62c34620
jmp 0x4096a6
cmp eax, 0xb9def85f
jle 0x409e12
cmp eax, 0xb9def860
je 0x40a1ed
cmp eax, 0xbc33fa41
je 0x40a238
cmp eax, 0xbc79d951
jne 0x4096a6
mov dword [ebp - 0x10], 0x5083b4ac
jmp 0x4096a6
cmp eax, 0x76778f9
jle 0x409e41
cmp eax, 0x76778fa
je 0x40a274
cmp eax, 0xc738353
je 0x40a299
cmp eax, 0xd500858
jne 0x4096a6
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0xe4]
imul ecx, ecx
imul edx, ecx, 0x13f5
add eax, 0x97
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0xe1588a9
cmp edx, ecx
jne 0x409f1c
jmp 0x40a587
cmp eax, 0x93023fc0
jle 0x409e72
cmp eax, 0x93023fc1
je 0x40a2c8
cmp eax, 0x96a84485
je 0x40a2f9
cmp eax, 0x96f1bb32
jne 0x4096a6
mov eax, dword [ebp + 4]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
cmp byte [eax], 0xcc
mov eax, 0xdff47e68
je 0x40a587
mov eax, 0x2214adfa
jmp 0x40a587
cmp eax, 0x4db0de19
jle 0x409ebb
cmp eax, 0x4db0de1a
je 0x40a312
cmp eax, 0x5083b4ac
je 0x40a324
cmp eax, 0x58571e1f
jne 0x4096a6
push dword [ebp - 0x64]
call fcn.0040451f
add esp, 4
push 0x45fb1c
push eax
call fcn.00404636
add esp, 8
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
mov eax, 0xbf241f66
je 0x40a587
mov eax, 0x96f1bb32
jmp 0x40a587
cmp eax, 0xdff47e67
jle 0x409ee9
cmp eax, 0xdff47e68
je 0x40a330
cmp eax, 0xe5147f45
je 0x40a5b5
cmp eax, 0xe68bcad3
jne 0x4096a6
push dword [ebp - 0x58]
call fcn.004490d0
add esp, 4
inc eax
push eax
push dword [ebp - 0x58]
push dword [ebp - 0x48]
call fcn.00448a6c
add esp, 0xc
push 2
push 0x104
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0x62ca3d15
jmp 0x4096a6
cmp eax, 0x1d8e3b54
jle 0x409f26
cmp eax, 0x1d8e3b55
je 0x409e66
cmp eax, 0x2214adfa
je 0x40a345
cmp eax, 0x23d22447
jne 0x4096a6
mov dword [ebp - 0x10], 0xcca7329d
jmp 0x4096a6
cmp eax, 0xb400f964
jle 0x409f67
cmp eax, 0xb400f965
je 0x40a379
cmp eax, 0xb61ed71c
je 0x40a394
cmp eax, 0xb62b5a32
jne 0x4096a6
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
call dword [0x469140]
mov dword [ebp - 0x10], 0x32ec4f62
jmp 0x4096a6
cmp eax, 0x730a0d77
je 0x40a3ad
cmp eax, 0x737f8792
je 0x40a3e9
cmp eax, 0x7881584c
jne 0x4096a6
mov eax, dword [ebp - 0x14]
shr eax, 2
imul eax, eax, 0x7e9
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x1eb1
shr eax, 0xd
dec edx
add eax, eax
add eax, 0xc0
mov dword [ebp - 0x14], eax
mov eax, 0xecff42cc
cmp edx, ecx
jne 0x40a28f
jmp 0x40a587
cmp eax, 0xca7bb13c
je 0x40a414
cmp eax, 0xcb5fb261
jne 0x40a63d
mov ecx, dword [ebp - 0x18]
shl ecx, 8
add ecx, 0x9d00
mov dword [ebp - 0x18], ecx
mov eax, 0x917eaf39
cmp ecx, 0xf3
jge 0x40a587
mov eax, 0x137cafbf
jmp 0x40a587
cmp eax, 0xe6de8960
je 0x40a448
cmp eax, 0xecff42cc
jne 0x4096a6
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0x7881584c
jmp 0x4096a6
cmp eax, 0x82985f3c
je 0x40a462
cmp eax, 0x860a8d9b
jne 0x4096a6
mov dword [ebp - 0x10], 0xeeb7f01e
jmp 0x4096a6
cmp eax, 0x283a337c
je 0x40a46e
cmp eax, 0x2d20600a
jne 0x4096a6
mov ecx, dword [ebp - 0x18]
add ecx, 0x21
mov dword [ebp - 0x18], ecx
mov eax, 0xf9262e7c
cmp ecx, 0xf6
jae 0x40a587
mov eax, 0x6820ca0e
jmp 0x40a587
cmp eax, 0xcb7889ca
je 0x40a480
cmp eax, 0xcca7329d
jne 0x4096a6
mov dword [ebp - 0x10], 0x8ad94e78
jmp 0x4096a6
cmp eax, 0xdd9a7cb
je 0x40a4b0
cmp eax, 0xe1588a9
jne 0x4096a6
push eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0xa4dc8e0e
jmp 0x4096a6
cmp eax, 0x98632cab
je 0x40a4e4
cmp eax, 0x9b3a0d51
jne 0x4096a6
mov eax, dword [ebp - 0x2c]
mov dword [eax], ebx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x48]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 4], ecx
push edi
push dword [ebp - 0x2c]
call fcn.004075a1
add esp, 8
push dword [ebp - 0x2c]
call fcn.00448680
add esp, 4
mov eax, dword [ebp - 0x5c]
inc eax
mov edx, dword [ebp - 0x54]
mov ecx, 0x283a337c
cmp eax, dword [edx]
jb 0x409dd4
mov ecx, 0x5b2d58f6
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x4c], eax
jmp 0x4096a6
cmp eax, 0x5a6fe9fd
je 0x40a512
cmp eax, 0x5b2d58f6
jne 0x4096a6
mov eax, dword [ebp - 0x14]
shl eax, 9
add eax, 0xfffeb800
shr eax, 5
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x42b452fa
jmp 0x4096a6
cmp eax, 0xb63e5438
je 0x40a530
cmp eax, 0xb64030a4
jne 0x4096a6
cmp dword [ebp - 0x60], 0
mov eax, 0xe6de8960
je 0x40a587
mov eax, 0xb61ed71c
jmp 0x40a587
cmp eax, 0x4fdbcdb
je 0x40a53c
cmp eax, 0x5a821ab
jne 0x4096a6
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
shl eax, 0xe
add eax, 0xffffffdb
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xd33e74dc
jmp 0x4096a6
cmp eax, 0x8f686212
je 0x40a60a
cmp eax, 0x917eaf39
jne 0x4096a6
mov esi, dword [ebp - 0x18]
shl esi, 4
add esi, 0xfffff330
mov dword [ebp - 0x18], esi
push esi
call fcn.00404200
add esp, 4
mov eax, 0x62c34620
cmp esi, 0xb7
jb 0x40a587
mov eax, 0xcb7889ca
jmp 0x40a587
cmp eax, 0x3ec7d908
je 0x40a557
cmp eax, 0x42b452fa
jne 0x4096a6
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0xc9fd3be7
jmp 0x4096a6
cmp eax, 0xdcc61de5
je 0x40a58f
cmp eax, 0xdf05eb88
jne 0x4096a6
mov ecx, dword [ebp - 0x18]
shl ecx, 6
add ecx, 0xffffc780
mov dword [ebp - 0x18], ecx
mov eax, 0xcf793942
cmp ecx, 0x61
jl 0x40a587
mov eax, 0x5a6fe9fd
jmp 0x40a587
cmp eax, 0x137cafbf
je 0x40a59e
cmp eax, 0x16e981f4
jne 0x4096a6
mov ecx, dword [ebp - 0x18]
mov eax, 0x82
add ecx, eax
shr ecx, 2
add ecx, 0xffffffe0
mov dword [ebp - 0x18], ecx
mov eax, 0x93023fc1
cmp ecx, 0x31
je 0x40a587
mov eax, 0xf010bf61
jmp 0x40a587
cmp eax, 0xa2d06299
je 0x40a625
cmp eax, 0xa4dc8e0e
jne 0x4096a6
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0x6c]
imul ecx, ecx
imul edx, ecx, 0x3e75
dec edx
imul eax, eax, 0x6f
add eax, 0x3021
mov dword [ebp - 0x14], eax
mov eax, 0x76778fa
cmp ecx, edx
je 0x40a587
mov eax, 0xdc74d402
jmp 0x40a587
push 0x45e102
push dword [ebp - 0x38]
mov esi, dword [0x469140]
call esi
push 0x45fb0e
push dword [ebp - 0x38]
call esi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
push dword [eax]
push dword [ecx]
push dword [ebp - 0x38]
push edi
call fcn.0041aa6b
add esp, 0x10
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], 0xef83245
jmp 0x4096a6
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0x44]
imul ecx, ecx
imul edx, ecx, 0x373
dec edx
add eax, 0x13b
mov dword [ebp - 0x14], eax
mov eax, 0xb9def860
cmp ecx, edx
je 0x40a587
mov eax, 0x9c8f949e
jmp 0x40a587
push 0xc
call fcn.00448a24
add esp, 4
mov esi, eax
mov dword [eax], ebx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov ecx, dword [0x45e042]
mov dword [eax], ecx
mov ecx, dword [0x45e046]
mov dword [eax + 4], ecx
mov ecx, dword [0x45e04a]
mov dword [eax + 8], ecx
mov ecx, dword [0x45e04e]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x34]
mov dword [esi + 8], eax
mov eax, dword [ebp + 8]
mov dword [esi + 4], eax
push edi
push esi
call fcn.004075a1
add esp, 8
push esi
call fcn.00448680
add esp, 4
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], 0x42b452fa
jmp 0x4096a6
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], 0xa0780d1b
jmp 0x4096a6
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0x3ec7d908
jmp 0x4096a6
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov dword [ebp - 0x10], 0x87953c5f
jmp 0x4096a6
mov eax, dword [ebp - 0x44]
add eax, 0xc
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x10], 0x283a337c
mov dword [ebp - 0x4c], 0
jmp 0x4096a6
mov dword [ebp - 0x10], 0xb63e5438
jmp 0x4096a6
push 0x45e148
push dword [ebp - 0x3c]
call dword [0x469140]
mov dword [ebp - 0x10], 0x3734ffab
jmp 0x4096a6
imul eax, dword [ebp - 0x14], 0x700
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xc1ec11a3
jmp 0x4096a6
push 2
mov esi, 0x104
push esi
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x40], eax
push 0x45fac2
push 0x7328f505
call fcn.00439a28
add esp, 8
push esi
push dword [ebp - 0x40]
push dword [ebp + 8]
call eax
mov dword [ebp - 0x10], 0xd500858
jmp 0x4096a6
push dword [ebp - 0x40]
push dword [ebp - 0x28]
call dword [0x469140]
mov dword [ebp - 0x10], 0x93023fc1
jmp 0x4096a6
popal
jmp 0x40a17a
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
mov dword [ebp - 0x10], 0x96a84485
jmp 0x4096a6
mov dword [ebp - 0x10], 0xb62b5a32
jmp 0x4096a6
mov dword [ebp - 0x10], 0x5e10f3af
jmp 0x4096a6
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x10], 0xa2d06299
jmp 0x4096a6
push 2
push 0x104
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0xc94584cd
jmp 0x4096a6
mov esi, dword [ebp - 0x18]
shr esi, 4
and esi, 0x1ffffff
mov dword [ebp - 0x18], esi
push 0xdd
push 0x23eb
push esi
call fcn.004055c2
add esp, 0xc
push 0x2894
push 0x200
push esi
call fcn.004046eb
add esp, 0xc
mov eax, 0xe1588a9
cmp esi, 0x96
jae 0x40a40a
jmp 0x40a587
mov esi, dword [ebp - 0x18]
mov eax, 0xffffff64
add esi, eax
mov dword [ebp - 0x18], esi
push esi
call fcn.004052be
add esp, 4
push 0x3ed3
push esi
call fcn.004058d9
add esp, 8
mov eax, 0x62c34620
cmp esi, 0x19
je 0x40a587
mov eax, 0xd33e74dc
jmp 0x40a587
imul ecx, dword [ebp - 0x18], 0x1040
mov eax, 0xb400f965
and ecx, 0xfffff000
mov dword [ebp - 0x18], ecx
je 0x40a587
mov eax, 0xe1588a9
jmp 0x40a587
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x28]
call fcn.00405ed9
add esp, 0xc
push 2
push 0x104
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0xca7bb13c
jmp 0x4096a6
push 0x45fadc
call fcn.00436ce1
add esp, 4
push eax
push dword [ebp - 0x28]
call dword [0x469140]
push dword [ebp - 0x28]
call fcn.0040c3bb
add esp, 4
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0xb64030a4
jmp 0x4096a6
imul eax, dword [ebp - 0x14], 0xc6
add eax, 0xffffffa0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x23d22447
jmp 0x4096a6
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xed2997ed
jmp 0x4096a6
mov dword [ebp - 0x10], 0xa262b6ef
jmp 0x4096a6
mov eax, dword [ebp - 0x14]
shl eax, 4
and eax, 0xffff8000
or eax, 0xf2
jmp 0x40a5c1
mov ecx, dword [ebp - 0x14]
mov eax, ecx
shl eax, 6
add eax, ecx
shr eax, 0xf
lea ecx, [eax + 0x6c]
imul eax, eax
imul edx, eax, 0x42df
dec edx
mov dword [ebp - 0x14], ecx
mov ecx, 0xd33e74dc
cmp edx, eax
je 0x40a602
mov ecx, 0x137cafbf
jmp 0x40a602
imul eax, dword [ebp - 0x18], 0x865300
add eax, 0xffffff0e
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x39883d46
jmp 0x4096a6
imul eax, dword [ebp - 0x14], 0xb400
or eax, 0x25
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xdcc61de5
jmp 0x4096a6
mov eax, dword [ebp - 0x18]
shl eax, 0xb
or eax, 0xcd
imul esi, eax, 0xdc
mov dword [ebp - 0x18], esi
push esi
call fcn.004048fc
add esp, 4
push 0x350d
push esi
push 0x31fb
call fcn.00405a9e
add esp, 0xc
mov dword [ebp - 0x10], 0xed2997ed
jmp 0x4096a6
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*8]
lea ecx, [eax*8 - 0x18]
mov dword [ebp - 0x18], ecx
mov eax, 0xc738353
cmp ecx, 0xdc
jae 0x40a587
mov eax, 0x93023fc1
jmp 0x40a587
mov eax, dword [ebp - 0x14]
mov ecx, 0xd2
add eax, ecx
imul ecx, eax, 0x67
imul eax, eax
imul edx, eax, 0x73b
dec edx
shr ecx, 6
mov dword [ebp - 0x14], ecx
mov ecx, 0x996419c5
cmp eax, edx
je 0x40a602
mov ecx, 0x5ffa97a3
jmp 0x40a602
mov eax, dword [ebp - 0x14]
shl eax, 8
add eax, 0xffff854e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xc9fd3be7
jmp 0x4096a6
mov dword [ebp - 0x10], 0x58571e1f
jmp 0x4096a6
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], 0x5d4d692c
jmp 0x4096a6
mov eax, dword [ebp - 0x18]
add eax, 0xffffffc1
shr eax, 7
imul ecx, eax, 0xa4
add ecx, 0xffff1bf0
mov dword [ebp - 0x18], ecx
mov eax, 0xb64030a4
cmp ecx, 0x73
jae 0x40a587
mov eax, 0xc738353
jmp 0x40a587
imul ecx, dword [ebp - 0x14], 0x59
add ecx, 0x5e9
imul eax, ecx, 0x680
imul ecx, ecx
imul edx, ecx, 0x2727
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0xc1ec11a3
cmp edx, ecx
je 0x40a587
mov eax, 0x9b3a0d51
jmp 0x40a587
mov eax, dword [ebp - 0x18]
shl eax, 6
and eax, 0xffff8000
imul esi, eax, 0x74
mov eax, esi
shr eax, 1
mov dword [ebp - 0x18], eax
push eax
call fcn.00405ea1
add esp, 4
mov eax, 0x16e981f4
test esi, esi
je 0x40a587
mov eax, 0x737f8792
jmp 0x40a587
push 2
push 0x104
call fcn.00447c47
add esp, 8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x1d8e3b55
jmp 0x4096a6
mov dword [ebp - 0x10], 0xc738353
jmp 0x4096a6
imul eax, dword [ebp - 0x18], 0x42b0
add eax, 0xffffff6a
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x93023fc1
jmp 0x4096a6
mov eax, dword [ebp - 0x14]
add eax, 0xffffffee
shr eax, 7
imul ecx, eax, 0x53
imul ecx, ecx
imul edx, ecx, 0x25f1
dec edx
imul eax, eax, 0x41d1
shr eax, 0xe
mov dword [ebp - 0x14], eax
mov eax, 0x730a0d77
cmp edx, ecx
je 0x40a587
mov eax, 0xecff42cc
mov dword [ebp - 0x10], eax
jmp 0x4096a6
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0x860a8d9b
jmp 0x4096a6
mov eax, dword [ebp - 0x50]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x40a5d0
movzx eax, ax
cmp eax, 0xf0b
jne 0x40a60a
imul eax, dword [ebp - 0x14], 0x46000
and eax, 0xffff8000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xee7ccad
jmp 0x4096a6
imul eax, dword [ebp - 0x14], 0xf5
add eax, 0x59f6
mov ecx, eax
shl ecx, 0x15
imul eax, eax
or ecx, 0x35000
imul edx, eax, 0x10d3
dec edx
mov dword [ebp - 0x14], ecx
mov ecx, 0x8ad94e78
cmp eax, edx
je 0x40a602
mov ecx, 0xee7ccad
mov dword [ebp - 0x10], ecx
jmp 0x4096a6
imul eax, dword [ebp - 0x14], 0x1c00
add eax, 0xffffff66
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xbc79d951
jmp 0x4096a6
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x5c]
lea eax, [eax + ecx*4]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 0x351ab533
jmp 0x4096a6
cmp eax, 0xc9fd3be7
jne 0x4096a6
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret