Function at 0x40a90b
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x7c
mov ebx, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov edi, 0x104
push 2
push edi
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x28], eax
call fcn.00403a5a
push 0x442b32
push 0x7328f505
call fcn.004204d4
add esp, 8
push edi
push dword [ebp - 0x28]
push esi
call eax
call fcn.00403a5a
xor esi, esi
inc esi
mov edi, 0x1000
push esi
push edi
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x2c], eax
call fcn.00403a5a
push esi
push edi
call fcn.0042bc6e
add esp, 8
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 4]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
mov al, byte [eax]
mov byte [ebp - 0x19], al
mov dword [ebp - 0x10], 0x30dfb435
mov dword [ebp - 0x38], 0x1640c832
mov dword [ebp - 0x3c], ebx
test ebx, ebx
jle 0x40a9a9
mov dword [ebp - 0x38], 0xde6e8324
dec dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1640c831
jle 0x40aa19
cmp eax, 0x513664ae
jle 0x40aa9b
cmp eax, 0x68999016
jle 0x40ab43
cmp eax, 0x73e5f879
jg 0x40acdd
cmp eax, 0x6cf13130
jg 0x40af88
cmp eax, 0x68999017
je 0x40b385
cmp eax, 0x68ce86ab
jne 0x40a9ac
mov esi, dword [ebp - 0x14]
add esi, 0xffffffb5
mov dword [ebp - 0x14], esi
push esi
call fcn.0040a8ee
add esp, 4
mov eax, 0x525c5814
cmp esi, 5
jge 0x40b1b8
jmp 0x40b865
cmp eax, 0xd848f7ea
jg 0x40aae8
cmp eax, 0xafff14e7
jle 0x40ab95
cmp eax, 0xc7ca8c81
jg 0x40ad30
cmp eax, 0xc20aff9b
jg 0x40afee
cmp eax, 0xafff14e8
je 0x40b2ef
cmp eax, 0xb7acecb3
jne 0x40a9ac
call fcn.00403a5a
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x30]
push str.Cl576xedover
push dword [ebp - 0x28]
call fcn.00409102
add esp, 0x10
call fcn.00403a5a
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
mov eax, 0x513664af
je 0x40b865
mov eax, 0x7dfb80b2
jmp 0x40b865
cmp eax, 0x2ec37c37
jle 0x40abf0
cmp eax, 0x39fbe174
jg 0x40ad63
cmp eax, 0x32034079
jg 0x40b045
cmp eax, 0x2ec37c38
je 0x40b3ab
cmp eax, 0x30dfb435
jne 0x40a9ac
mov cl, byte [ebp - 0x19]
mov eax, 0x5de49fb8
cmp cl, 0xcc
jne 0x40afe4
jmp 0x40b865
cmp eax, 0xf215f6a0
jle 0x40aca1
cmp eax, 0xfdcb0cdf
jg 0x40adad
cmp eax, 0xfc3482da
jg 0x40b08b
cmp eax, 0xf215f6a1
je 0x40b3bc
cmp eax, 0xf24946b1
jne 0x40a9ac
mov ecx, dword [ebp - 0x14]
add ecx, 0xffffffbb
mov dword [ebp - 0x14], ecx
mov eax, 0xe417845c
cmp ecx, 0xdd
jl 0x40b865
mov eax, 0x337475d2
jmp 0x40b865
cmp eax, 0x5cf83531
jg 0x40ae2b
cmp eax, 0x525c5813
jg 0x40b0d9
cmp eax, 0x513664af
je 0x40b406
cmp eax, 0x51e42228
jne 0x40a9ac
mov eax, dword [ebp - 0x14]
add eax, 0x5f
shr eax, 2
mov dword [ebp - 0x14], eax
push 0x4b8b
push eax
call fcn.0040a238
add esp, 8
mov dword [ebp - 0x10], 0xc20aff9c
jmp 0x40a9ac
cmp eax, 0x9dcbda9b
jle 0x40ae5e
cmp eax, 0xa4dc826c
jg 0x40b101
cmp eax, 0x9dcbda9c
je 0x40b42c
cmp eax, 0x9e6aa60e
jne 0x40a9ac
imul esi, dword [ebp - 0x14], 0x218
add esi, 0x117ca
mov dword [ebp - 0x14], esi
push esi
call fcn.0040a8ee
add esp, 4
mov eax, 0x525c5814
cmp esi, 0xf6
jb 0x40b1b8
jmp 0x40b865
cmp eax, 0x205b5b88
jle 0x40aed5
cmp eax, 0x28bea514
jg 0x40b15c
cmp eax, 0x205b5b89
je 0x40b44e
cmp eax, 0x223a60f6
jne 0x40a9ac
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x34]
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
call fcn.00403a5a
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x5c]
push eax
push esi
call fcn.00408f28
add esp, 0xc
call fcn.00403a5a
push 2
push 0x104
call fcn.0042bc6e
add esp, 8
mov esi, eax
push dword [ebp + 0x10]
push eax
mov ebx, dword [0x44c104]
call ebx
call fcn.00403a5a
push 0x441172
push esi
call ebx
push edi
push esi
call ebx
call fcn.00403a5a
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push esi
push dword [ebp + 0x18]
call fcn.0041298b
add esp, 0x10
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x67c85643
mov dword [ebp - 0x4c], eax
jmp 0x40a9ac
cmp eax, 0xde6e8323
jle 0x40af3d
cmp eax, 0xe417845b
jg 0x40b183
cmp eax, 0xde6e8324
je 0x40b480
cmp eax, 0xe2d11378
jne 0x40a9ac
mov eax, dword [ebp - 0x18]
shl eax, 0xc
add eax, 0x45fec
jmp 0x40b4a9
cmp eax, 0x7920be59
jg 0x40b1c2
cmp eax, 0x73e5f87a
je 0x40b49d
cmp eax, 0x7549fd01
jne 0x40a9ac
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 2]
imul ecx, ecx
add eax, 0xffffff09
imul edx, ecx, 0x155b
shr eax, 7
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0x525c5814
cmp ecx, edx
je 0x40b865
mov eax, 0xd55f914b
jmp 0x40b865
cmp eax, 0xd3bdd813
jg 0x40b1f0
cmp eax, 0xc7ca8c82
je 0x40b4b8
cmp eax, 0xc7fb861f
jne 0x40a9ac
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x10], 0x9dcbda9c
jmp 0x40a9ac
cmp eax, 0x44d0c0a4
jg 0x40b27b
cmp eax, 0x39fbe175
je 0x40aded
cmp eax, 0x3ba57481
jne 0x40a9ac
mov ecx, dword [ebp - 0x14]
mov eax, 0xfffffe5d
add ecx, eax
mov eax, ecx
shr eax, 0xd
mov dword [ebp - 0x14], eax
mov eax, 0xf24946b1
cmp ecx, 0x42000
jb 0x40b865
mov eax, 0xb7acecb3
jmp 0x40b865
cmp eax, 0x64a641c
jg 0x40b2ac
cmp eax, 0xfdcb0ce0
je 0x40b4e2
cmp eax, 0x143681c
jne 0x40a9ac
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x40b2ef
movzx eax, ax
cmp eax, 0xf0b
je 0x40b322
mov ecx, dword [ebp - 0x18]
shr ecx, 6
imul eax, ecx, 0x4b
add eax, 0xfffffed4
imul eax, eax
imul edx, eax, 0x3727
dec edx
imul ecx, ecx, 0xd9f8000
add ecx, 0xb66f8000
mov dword [ebp - 0x18], ecx
mov ecx, 0x2e40e53b
cmp eax, edx
je 0x40b78c
mov ecx, 0x525c5814
jmp 0x40b78c
cmp eax, 0x5de49fb7
jle 0x40b35f
cmp eax, 0x5de49fb8
je 0x40b530
cmp eax, 0x67c85643
jne 0x40a9ac
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x10], 0xc20aff9c
jmp 0x40a9ac
cmp eax, 0x8172cf31
je 0x40b322
cmp eax, 0x93a41ea2
je 0x40b53f
cmp eax, 0x9c87ef0a
jne 0x40a9ac
imul esi, dword [ebp - 0x14], 0x87
add esi, 0x3d9f
mov dword [ebp - 0x14], esi
push 0x5098
push 0x2000
push 0x3aa0
push esi
push 0x19da
call fcn.0040a90b
add esp, 0x14
push 0x42d
push 0x2611
push 0x1977
push 0x5a94
push esi
call fcn.0040a90b
add esp, 0x14
mov dword [ebp - 0x10], 0x525c5814
jmp 0x40a9ac
cmp eax, 0x1640c832
je 0x40b569
cmp eax, 0x1672bc21
je 0x40b5a0
cmp eax, 0x19f83d94
jne 0x40a9ac
imul esi, dword [ebp - 0x14], 0xa2c
add esi, 0xffffcdda
mov dword [ebp - 0x14], esi
push esi
push 0x610e
call fcn.0040a238
add esp, 8
push esi
push 0x1de1
push 0x48f5
push 0x2528
push 0x6241
call fcn.0040a90b
add esp, 0x14
mov dword [ebp - 0x10], 0x2ec37c38
jmp 0x40a9ac
cmp eax, 0xd848f7eb
je 0x40b5c4
cmp eax, 0xd99bacff
je 0x40b606
cmp eax, 0xdb8c8cbf
jne 0x40a9ac
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x78]
shl ecx, 4
add ecx, eax
mov dword [ebp - 0x68], ecx
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0xc], 0
mov eax, 0xab37270f
je 0x40b865
mov eax, 0x7549fd01
jmp 0x40b865
cmp eax, 0x6cf13131
je 0x40b643
cmp eax, 0x716440f2
jne 0x40a9ac
mov esi, dword [ebp - 0x14]
shl esi, 6
and esi, 0x3ffffc0
or esi, 2
mov dword [ebp - 0x14], esi
push esi
call fcn.0040a8ee
add esp, 4
push 0x2b4a
push 0x5d30
push 0x2c20
push 0x1bd3
push esi
call fcn.0040a90b
add esp, 0x14
mov eax, 0xd3bdd814
cmp esi, 0x14
jb 0x40b865
mov eax, 0x143681c
jmp 0x40b865
cmp eax, 0xc20aff9c
je 0x40b672
cmp eax, 0xc6f054b3
jne 0x40a9ac
mov eax, dword [ebp - 0x14]
add eax, 0x56
shr eax, 2
and eax, 0xfffffff0
lea eax, [eax + eax*8]
or eax, 0xa
imul esi, eax, 0x86
mov dword [ebp - 0x14], esi
push esi
push 0x5ec8
call fcn.0040a238
add esp, 8
mov eax, 0x525c5814
cmp esi, 0x2b
jae 0x40b865
mov eax, 0xfdcb0ce0
jmp 0x40b865
cmp eax, 0x3203407a
je 0x40b696
cmp eax, 0x337475d2
jne 0x40a9ac
imul ecx, dword [ebp - 0x14], 0xfc00000
add ecx, 0xf5999000
mov eax, ecx
shr eax, 0xf
mov dword [ebp - 0x14], eax
mov eax, 0x525c5814
cmp ecx, 0x770000
jb 0x40b865
mov eax, 0xe417845c
jmp 0x40b865
cmp eax, 0xfc3482db
je 0x40b6c7
cmp eax, 0xfd606526
jne 0x40a9ac
mov ecx, dword [ebp - 0x18]
shr ecx, 6
imul eax, ecx, 0x58
imul ecx, ecx
imul edx, ecx, 0x82c7
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xe417845c
cmp ecx, edx
je 0x40b0c5
mov eax, 0x4691a18a
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
jmp 0x40a9ac
cmp eax, 0x525c5814
je 0x40b701
cmp eax, 0x5810df93
jne 0x40a9ac
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x10], 0xd848f7eb
jmp 0x40a9ac
cmp eax, 0xa4dc826d
je 0x40b743
cmp eax, 0xab37270f
jne 0x40a9ac
mov eax, dword [ebp - 0x18]
mov ecx, 0xffffff67
add eax, ecx
shr eax, 0xa
imul ecx, eax, 0x6ea
imul eax, eax
imul edx, eax, 0x17b9
dec edx
add ecx, 0xfff91cea
mov dword [ebp - 0x18], ecx
mov ecx, 0xdb8c8cbf
cmp edx, eax
je 0x40b14b
mov ecx, 0xc7fb861f
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x40], eax
jmp 0x40a9ac
cmp eax, 0x28bea515
je 0x40b762
cmp eax, 0x2e40e53b
jne 0x40a9ac
mov eax, dword [ebp - 0x14]
add eax, eax
add eax, 0x44
mov dword [ebp - 0x14], eax
push eax
jmp 0x40b802
cmp eax, 0xe417845c
je 0x40b794
cmp eax, 0xf18411fb
jne 0x40a9ac
mov ecx, dword [ebp - 0x14]
shr ecx, 5
add ecx, 0xfe
shr ecx, 1
mov dword [ebp - 0x14], ecx
mov eax, 0x525c5814
cmp ecx, 0x1a
je 0x40b865
mov eax, 0x14b136b0
jmp 0x40b865
cmp eax, 0x7920be5a
je 0x40b79c
cmp eax, 0x7dfb80b2
jne 0x40a9ac
mov eax, dword [ebp - 0x18]
shl eax, 6
add eax, 0x4c
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x5810df93
jmp 0x40a9ac
cmp eax, 0xd3bdd814
je 0x40b7dd
cmp eax, 0xd55f914b
jne 0x40a9ac
mov eax, dword [ebp - 0x68]
mov edi, dword [eax + 4]
push 2
push 0x104
call fcn.0042bc6e
add esp, 8
mov esi, eax
push dword [ebp + 0x10]
push eax
mov ebx, dword [0x44c104]
call ebx
push 0x441172
push esi
call ebx
call fcn.00403a5a
push edi
call fcn.0040a8ee
add esp, 4
push eax
push esi
call ebx
call fcn.00403a5a
push dword [ebp + 0x18]
push dword [ebp - 0x80]
push esi
push dword [ebp + 0xc]
push edi
call fcn.0040a90b
add esp, 0x14
call fcn.00403a5a
push esi
call fcn.0042c64b
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0xc7fb861f
mov dword [ebp - 0x40], eax
jmp 0x40a9ac
cmp eax, 0x44d0c0a5
je 0x40b816
cmp eax, 0x4691a18a
jne 0x40a9ac
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x10], 0xdb8c8cbf
jmp 0x40a9ac
cmp eax, 0x64a641d
je 0x40b826
cmp eax, 0x14b136b0
jne 0x40a9ac
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x70]
shl ecx, 4
add ecx, eax
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
cmp dword [eax + 8], 0xa00001
mov eax, 0xd99bacff
jae 0x40b865
mov eax, 0x28bea515
jmp 0x40b865
mov ecx, dword [ebp - 0x18]
imul eax, ecx, 0xc1
imul eax, eax
imul edx, eax, 0x23bd
imul ecx, ecx, 0x6080000
add ecx, 0x7180000
dec edx
shr ecx, 0xe
mov dword [ebp - 0x18], ecx
mov ecx, 0x716440f2
cmp edx, eax
jne 0x40b355
jmp 0x40b78c
imul ecx, dword [ebp - 0x18], 0xf3
lea eax, [ecx - 0x8f55]
imul eax, eax
imul edx, eax, 0x1493
add ecx, 0xffff70de
dec edx
shr ecx, 6
add ecx, 0x42
mov dword [ebp - 0x18], ecx
mov ecx, 0x143681c
cmp eax, edx
je 0x40b78c
mov ecx, 0x5de49fb8
jmp 0x40b78c
cmp eax, 0x5cf83532
jne 0x40b86d
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x10], 0x14b136b0
jmp 0x40a9ac
imul eax, dword [ebp - 0x14], 0x2e
add eax, 0x1c50
mov dword [ebp - 0x14], eax
push eax
push 0x21ae
call fcn.0040a238
add esp, 8
mov dword [ebp - 0x10], 0x7920be5a
jmp 0x40a9ac
imul eax, dword [ebp - 0x14], 0x330000
add eax, 0xfb9e0000
jmp 0x40b753
imul esi, dword [ebp - 0x14], 0x5a000
mov edi, 0x44d0c0a5
and esi, 0xffffc000
mov dword [ebp - 0x14], esi
je 0x40b3d8
mov edi, 0x3203407a
push 0xe91
push 0x571a
push esi
push 0x4287
push 0x38ca
call fcn.0040a90b
add esp, 0x14
push esi
call fcn.0040a8ee
add esp, 4
mov dword [ebp - 0x10], edi
jmp 0x40a9ac
mov eax, dword [ebp - 0x18]
shr eax, 3
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x732f
dec edx
add eax, 0xffffffa9
mov dword [ebp - 0x18], eax
mov eax, 0x93a41ea2
cmp ecx, edx
jne 0x40b444
jmp 0x40b865
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
mov eax, 0xfd606526
cmp ecx, dword [ebp - 0x7c]
jb 0x40b865
mov eax, 0x5d414736
jmp 0x40b865
mov esi, dword [ebp - 0x14]
add esi, 0x45
mov dword [ebp - 0x14], esi
push esi
push 0x388b
call fcn.0040a238
add esp, 8
mov eax, 0x5de49fb8
cmp esi, 0xcb
jae 0x40b865
mov eax, 0x1672bc21
jmp 0x40b865
mov eax, dword [ebp - 0x18]
shl eax, 0x17
lea eax, [eax + eax*4]
or eax, 0x9d000
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xb7acecb3
jmp 0x40a9ac
imul eax, dword [ebp - 0x18], 0x5624
add eax, 0xffe8d6d9
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xe417845c
jmp 0x40a9ac
imul eax, dword [ebp - 0x14], 0x38800
add eax, 0xffffff86
shr eax, 5
add eax, 0xed
mov dword [ebp - 0x14], eax
push eax
call fcn.0040a8ee
add esp, 4
mov dword [ebp - 0x10], 0xf18411fb
jmp 0x40a9ac
imul esi, dword [ebp - 0x14], 0xb3
add esi, 0xffff70a9
mov dword [ebp - 0x14], esi
push 0x4bd3
push esi
push 0xf5f
push 0xd0d
push 0x3ee8
call fcn.0040a90b
add esp, 0x14
push esi
call fcn.0040a8ee
add esp, 4
mov eax, 0x68ce86ab
cmp esi, 0x5a
jb 0x40b865
mov eax, 0x9e6aa60e
jmp 0x40b865
popal
jmp 0x40b531
imul esi, dword [ebp - 0x14], 0x1a9fc000
mov dword [ebp - 0x14], esi
push esi
call fcn.0040a8ee
add esp, 4
mov eax, 0xe417845c
test esi, esi
je 0x40b865
mov eax, 0x64a641d
jmp 0x40b865
mov eax, dword [ebp - 0x18]
mov ecx, 0xffffff5a
add eax, ecx
imul ecx, eax, 0x59
imul eax, eax
imul edx, eax, 0x3bab
shr ecx, 7
dec edx
add ecx, 0xffffffd9
mov dword [ebp - 0x18], ecx
mov ecx, 0x525c5814
cmp eax, edx
je 0x40b78c
mov ecx, 0x5d414736
jmp 0x40b78c
imul eax, dword [ebp - 0x14], 0xb9
add eax, 0xffffff4d
mov dword [ebp - 0x14], eax
push eax
call fcn.0040a8ee
add esp, 4
mov dword [ebp - 0x10], 0x5de49fb8
jmp 0x40a9ac
mov eax, dword [ebp - 0x18]
shr eax, 4
imul ecx, eax, 0xa5
imul eax, eax
imul edx, eax, 0xb4b
dec edx
add ecx, 0xffff8bfc
mov dword [ebp - 0x18], ecx
mov ecx, 0x525c5814
cmp eax, edx
je 0x40b5f1
mov ecx, 0x4691a18a
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 0
jmp 0x40a9ac
mov eax, dword [ebp - 0x18]
lea ecx, [eax - 0xf7]
imul ecx, ecx
imul edx, ecx, 0xd01
dec edx
imul eax, eax, 0x2e
add eax, 0xffffc14a
mov dword [ebp - 0x18], eax
mov eax, 0x19f83d94
cmp edx, ecx
je 0x40b632
mov eax, 0x67c85643
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x4c], eax
jmp 0x40a9ac
mov ecx, dword [ebp - 0x18]
shr ecx, 1
imul eax, ecx, 0xaa
imul ecx, ecx
imul edx, ecx, 0x354d
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xfc3482db
cmp ecx, edx
je 0x40b865
mov eax, 0x525c5814
jmp 0x40b865
mov eax, dword [ebp - 0x70]
inc eax
mov ecx, 0x5cf83532
cmp eax, dword [ebp - 0x74]
jb 0x40b685
mov ecx, 0x73e5f87a
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], eax
jmp 0x40a9ac
mov esi, dword [ebp - 0x14]
add esi, 0xffffffb8
mov dword [ebp - 0x14], esi
push 0x3822
push esi
call fcn.0040a238
add esp, 8
push esi
push 0x98f
call fcn.0040a238
add esp, 8
mov dword [ebp - 0x10], 0x143681c
jmp 0x40a9ac
mov esi, dword [ebp - 0x14]
shl esi, 0x11
mov edi, 0x5de49fb8
add esi, 0xfc7a0000
mov dword [ebp - 0x14], esi
je 0x40b6e2
mov edi, 0x205b5b89
push esi
call fcn.0040a8ee
add esp, 4
push esi
push 0x2e97
call fcn.0040a238
add esp, 8
mov dword [ebp - 0x10], edi
jmp 0x40a9ac
call fcn.00403a5a
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x2c]
push dword [ebp + 0xc]
push dword [ebp - 0x28]
call fcn.00409102
add esp, 0x10
call fcn.00403a5a
mov eax, dword [ebp - 0x24]
mov ecx, 0xe2d11378
test eax, eax
je 0x40b731
mov ecx, 0x5cf83532
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], 0
jmp 0x40a9ac
mov eax, dword [ebp - 0x14]
lea eax, [eax*4 - 0x334]
shr eax, 0xb
add eax, 0x49
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x525c5814
jmp 0x40a9ac
mov eax, dword [ebp - 0x18]
add eax, 0x78
shr eax, 5
imul ecx, eax, 0x89
imul eax, eax
imul edx, eax, 0x8849
dec edx
mov dword [ebp - 0x18], ecx
mov ecx, 0xc6f054b3
cmp eax, edx
je 0x40b78c
mov ecx, 0x223a60f6
mov dword [ebp - 0x10], ecx
jmp 0x40a9ac
mov eax, dword [ebp - 0x38]
jmp 0x40b865
mov esi, dword [ebp - 0x14]
shl esi, 0x17
or esi, 0x80000
mov dword [ebp - 0x14], esi
push esi
call fcn.0040a8ee
add esp, 4
push 0x3d18
push 0x3814
push esi
push 0x6224
push 0x2309
call fcn.0040a90b
add esp, 0x14
mov dword [ebp - 0x10], 0x9c87ef0a
jmp 0x40a9ac
mov eax, dword [ebp - 0x14]
mov ecx, 0x3ffffa2
add eax, ecx
shr eax, 2
imul esi, eax, 0x2c1400
mov dword [ebp - 0x14], esi
push esi
push 0x2f43
call fcn.0040a238
add esp, 8
push esi
call fcn.0040a8ee
add esp, 4
mov dword [ebp - 0x10], 0x143681c
jmp 0x40a9ac
shr dword [ebp - 0x14], 0xf
mov dword [ebp - 0x10], 0x143681c
jmp 0x40a9ac
imul esi, dword [ebp - 0x14], 0x1600
mov dword [ebp - 0x14], esi
push esi
call fcn.0040a8ee
add esp, 4
push 0x308f
push 0x52e8
push 0x2c05
push esi
push 0x4d7d
call fcn.0040a90b
add esp, 0x14
mov eax, 0xb7acecb3
cmp esi, 0x50
jge 0x40b865
mov eax, 0xa4dc826d
mov dword [ebp - 0x10], eax
jmp 0x40a9ac
cmp eax, 0x5d414736
jne 0x40a9ac
push dword [ebp - 0x2c]
call fcn.0042c64b
add esp, 4
push dword [ebp - 0x30]
call fcn.0042c64b
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret