Function at 0x40a0b3
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov ebp, dword [esp + 0x84]
mov ax, word [0x489888]
add eax, 0x4131
mov word [0x489888], ax
mov ax, word [0x491048]
add eax, 0xfffff600
mov word [0x491048], ax
add dword [0x4a95b8], 0x8e213c89
push 0
push ebp
call fcn.004123f2
add esp, 8
mov esi, 0xfffffff4
test eax, eax
je 0x40af0b
mov ax, word [0x4908ba]
imul eax, eax, 0x29db
mov word [0x4908ba], ax
lea ecx, [esp + 0x28]
lea ebx, [esp + 0x34]
lea eax, [esp + 0x40]
lea edi, [esp + 0x4c]
lea esi, [esp + 0x58]
push 0
push ecx
push ebx
push eax
push edi
push esi
call fcn.00430f1d
add esp, 0x18
mov eax, dword [0x4a5888]
shl eax, 7
add eax, 0x98483dcb
or dword [0x4a7bcc], eax
push ebp
mov ebp, dword [esp + 0x84]
push ebp
call fcn.0040c5ad
add esp, 8
test eax, eax
js 0x40a26b
mov eax, dword [0x49d0fc]
add eax, 0xdb997c6
or eax, 0x9a1f7a60
mov ecx, dword [0x49e188]
imul ecx, eax
mov dword [0x49e188], ecx
push ebp
push esi
call fcn.00413fe2
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
or dword [0x497e20], 0xcd3aaaf5
push dword [esp + 0x84]
push edi
call fcn.00413fe2
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x4a75fc]
imul eax, eax, 0x25bddb78
mov dword [0x4a75fc], eax
xor eax, eax
inc eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], eax
or dword [0x49e9d4], 0x470d4284
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 4]
add eax, 2
push eax
lea eax, [esp + 0x44]
push eax
call fcn.004175a8
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x49a5bc]
imul eax, eax, 0x86117b46
mov dword [0x49a5bc], eax
push 0
lea eax, [esp + 0x44]
push eax
call fcn.00407398
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x4a0424]
xor eax, 0x80842100
cmp eax, 0x8f79396c
jl 0x40a2e9
mov eax, dword [0x495ed8]
cmp eax, 0x9250207
jg 0x40a2f4
mov ax, word [0x488d86]
imul eax, eax, 0x214
mov word [0x488d86], ax
jmp 0x40a30c
mov eax, dword [0x4aaaec]
imul eax, eax, 0x9a6ad34f
mov dword [0x4aaaec], eax
mov eax, dword [esp + 0x78]
test eax, eax
je 0x40a298
push 0
push eax
call fcn.00407398
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x4946f0]
shl eax, 5
add dword [0x49e28c], eax
cmp dword [esp + 0x7c], 0
je 0x40a2c7
push ebp
push dword [esp + 0x80]
call fcn.00413fe2
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x4ac1ec]
shl eax, 5
or eax, 0x2d99f50
mov ecx, dword [0x49c62c]
sub ecx, eax
mov dword [0x49c62c], ecx
xor esi, esi
jmp 0x40af0b
mov word [0x486526], 0xc947
jmp 0x40a30c
mov eax, dword [0x4a6b84]
sar eax, 0xa
imul eax, eax, 0xba07cfc9
add eax, 0x50aad1b7
mov dword [0x4a715c], eax
push 2
push ebx
call fcn.004175a8
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov word [0x48b52a], 0xf1d2
push 3
lea eax, [esp + 0x2c]
push eax
call fcn.004175a8
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x4973e8]
and eax, 0x26e97afa
xor eax, 0x9db4814d
add dword [0x497104], eax
push edi
call fcn.00410ee6
add esp, 4
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
add ecx, eax
and ecx, 0xffffffe0
sub eax, ecx
mov cx, word [0x48fc82]
movsx ecx, cx
not ecx
and ecx, 0x97f774b0
add dword [0x4a9760], ecx
xor ecx, ecx
cmp eax, 0x1e
jg 0x40a418
mov ecx, dword [0x4a0920]
not ecx
imul ecx, ecx, 0xce62ee26
add dword [0x4a6ac4], ecx
mov ecx, 0x1f
sub ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [0x49ef8c]
imul eax, eax, 0xbcd5f010
add dword [0x496090], eax
push ecx
lea eax, [esp + 0x5c]
push eax
call fcn.00410b8d
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x49550c]
not eax
imul eax, eax, 0x45198d05
and eax, 0x3ec66727
xor dword [0x4a6124], eax
push dword [esp + 0x14]
push edi
call fcn.00410b8d
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
or dword [0x49848c], 0xde6fbbf7
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov eax, dword [0x4a3990]
mov cx, word [0x48d772]
sub ecx, eax
mov word [0x48d772], cx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x18], eax
lea ecx, [eax - 1]
mov dword [esp + 0x20], ecx
mov word [0x48bf10], 0x2900
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
lea edx, [eax - 1]
mov dword [esp + 0xc], edx
mov eax, dword [0x4a95e0]
and dword [0x4a3c64], eax
sub ecx, edx
mov dword [esp + 0x24], ecx
mov eax, ecx
shl eax, 5
mov dword [esp + 0x10], eax
push eax
push edi
call fcn.00410b8d
add esp, 8
mov eax, dword [0x499e08]
lea ecx, [eax - 1]
mov dword [0x499e08], ecx
mov ecx, dword [0x497554]
lea eax, [ecx + eax - 1]
mov cx, word [0x490cf8]
xor ecx, eax
xor ecx, 0xebc9
mov word [0x490cf8], cx
push edi
lea eax, [esp + 0x5c]
push eax
jmp 0x40a4d8
push edi
lea esi, [esp + 0x5c]
push esi
push esi
call fcn.0040c993
add esp, 0xc
dec dword [0x4aaff4]
mov eax, dword [0x49d938]
mov dword [0x4a4e04], 0xcc60fd95
push edi
push esi
call fcn.0040448e
add esp, 8
test eax, eax
js 0x40a54e
mov eax, dword [0x49ad78]
cmp eax, 0xd7e5c39d
jne 0x40a500
mov eax, dword [0x4a41d4]
dec eax
mov dword [0x4a41d4], eax
mov dword [0x4ab640], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
inc dword [eax + ecx*4]
mov eax, dword [0x49a3a8]
lea ecx, [eax + 1]
mov dword [0x49a3a8], ecx
imul eax, eax, 0x57bfcf9f
mov cx, word [0x491cd0]
dec ecx
mov word [0x491cd0], cx
movsx ecx, cx
and ecx, eax
cmp ecx, 0xffdefdfe
jg 0x40a4b2
add dword [0x4947d4], 0x1474891a
jmp 0x40a4b2
mov eax, dword [0x4a6b70]
xor eax, 0xaca048f3
mov dword [0x4a9af0], eax
push dword [esp + 0x10]
push edi
call fcn.0042f0bc
add esp, 8
mov eax, dword [0x496a04]
shl eax, 9
cmp eax, 0x1100420
jg 0x40a583
and dword [0x4a5640], 0x20670209
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x18], edx
mov esi, dword [esp + 0x80]
jle 0x40ad2d
xor eax, eax
inc eax
sub eax, edx
dec eax
mov dword [esp + 0x10], eax
mov ax, word [0x492d1a]
inc eax
mov word [0x492d1a], ax
cwde
imul eax, eax, 0xb9e5dd2d
or eax, 0x8d68be2e
xor dword [0x4aa1bc], eax
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x20]
mov eax, dword [eax + esi*4]
mov ecx, dword [esp + 0x54]
cmp eax, dword [ecx + edx*4 - 4]
jae 0x40a92c
mov eax, dword [0x4a3c08]
inc eax
mov dword [0x4a3c08], eax
and eax, 0x306a3458
mov ecx, dword [0x4a769c]
and ecx, 0xea32fa58
cmp eax, ecx
jg 0x40a62c
mov eax, dword [0x4a0314]
shr eax, 0xa
mov ecx, dword [0x49bba0]
mov ebx, edx
lea edx, [ecx - 1]
mov dword [0x49bba0], edx
mov edx, ebx
add eax, ecx
or eax, 0x6b3c
mov cx, word [0x486542]
and ecx, eax
mov word [0x486542], cx
mov eax, dword [0x4a0134]
lea ecx, [eax - 1]
mov dword [0x4a0134], ecx
imul eax, eax, 0xa600ca5d
add eax, 0x12f4
mov word [0x487f44], ax
mov eax, dword [0x4a1f48]
imul eax, eax, 0x467d46c3
mov dword [0x4a1f48], eax
mov eax, dword [esp + 0x54]
mov ebx, dword [eax + edx*4 - 4]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], edx
mov eax, dword [0x4ab484]
mov eax, dword [0x4a9828]
xor eax, 0x4354f027
mov ecx, dword [0x4a3298]
imul ecx, eax
mov dword [0x4a3298], ecx
movzx eax, bx
mov dword [esp + 0x18], eax
mov ax, word [0x489fde]
cwde
mov ecx, dword [0x49b0e0]
lea edx, [ecx - 1]
mov dword [0x49b0e0], edx
xor eax, ecx
cmp eax, 0x10204020
jg 0x40a6bf
mov eax, dword [0x49a730]
imul eax, eax, 0xf5de2012
mov dword [0x49a730], eax
mov ebx, dword [esp + 0x24]
shr ebx, 0x10
mov eax, dword [0x4a20b0]
inc eax
mov dword [0x4a20b0], eax
and eax, 0xc244
mov cx, word [0x4924d6]
xor ecx, eax
mov ax, word [0x48aad0]
imul eax, ecx
mov word [0x48aad0], ax
mov eax, dword [esp + 0x60]
mov eax, dword [eax + esi*4]
xor edx, edx
div ebx
mov ecx, eax
mov eax, dword [0x499770]
lea edx, [eax + 1]
mov dword [0x499770], edx
mov edx, 0xfcca422e
sub edx, eax
xor edx, 0x1063b258
mov dword [0x49bd9c], edx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + esi*4]
mov edx, ecx
imul edx, ebx
sub eax, edx
mov edx, dword [0x4a0600]
mov ebp, esi
mov si, word [0x48aaf4]
xor esi, edx
xor esi, 0xcd5f
mov word [0x48aaf4], si
shl eax, 0x10
xor dword [0x4abc40], 0x7ff23ff6
mov edx, dword [esp + 0x60]
movzx esi, word [edx + ebp*4 - 2]
or esi, eax
mov eax, dword [0x496308]
lea edx, [eax - 1]
mov dword [0x496308], edx
add eax, 0xfd55d4c9
mov edx, dword [0x4a3e2c]
imul edx, eax
mov dword [0x4a3e2c], edx
mov eax, ecx
imul eax, dword [esp + 0x18]
or dword [0x499098], 0xabfecabb
cmp esi, eax
jae 0x40a7f6
mov dx, word [0x488ba8]
movsx ebp, dx
mov edx, dword [0x4a3528]
dec edx
mov dword [0x4a3528], edx
and edx, 0x37eb290
or edx, ebp
mov dword [0x493e2c], edx
mov ebp, dword [0x4a10a8]
shr ebp, 4
mov dx, word [0x489f68]
xor edx, ebp
mov word [0x489f68], dx
mov edx, dword [esp + 0x24]
add esi, edx
dec ecx
cmp esi, edx
jb 0x40a7e4
cmp esi, eax
jb 0x40a7d5
mov edx, dword [0x4a0da8]
xor edx, 0x73da484b
mov dword [0x4ac0e0], edx
mov edx, dword [0x4953ec]
imul edx, edx, 0xf78fefdb
mov dword [0x4953ec], edx
sub esi, eax
mov ax, word [0x491fca]
mov eax, dword [0x4a3e58]
imul eax, eax, 0xfe3ceb07
add dword [0x4aa6bc], eax
xor edx, edx
mov eax, esi
div ebx
mov edx, dword [0x499334]
imul ebp, edx, 0x637e9800
mov dx, word [0x48d95e]
xor edx, ebp
mov word [0x48d95e], dx
imul ebx, eax
sub esi, ebx
and dword [0x4ac010], 0x68b016e4
shl esi, 0x10
mov edx, dword [0x4a2f04]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x20]
movzx edx, word [edx + ebx*4 - 4]
or edx, esi
and dword [0x4989e8], 0x413fc6f3
mov ebx, dword [esp + 0x18]
imul ebx, eax
mov dword [esp + 0x18], ebx
mov si, word [0x486bd8]
xor esi, 0x2301
mov word [0x486bd8], si
cmp edx, ebx
jae 0x40a8cf
mov esi, dword [0x4a25e4]
imul esi, esi, 0x25e29f05
mov dword [0x4a25e4], esi
add dword [0x4967b4], 0xefdefff9
mov ebx, dword [esp + 0x24]
add edx, ebx
mov esi, dword [esp + 0x18]
dec eax
cmp edx, ebx
jb 0x40a8c9
cmp edx, esi
lea edx, [edx + ebx]
jb 0x40a8bd
mov edx, dword [0x4aa278]
mov ebx, dword [esp + 0x20]
lea edx, [ebx - 1]
mov dword [esp + 0x18], edx
add dword [0x49ef58], 0xde02f071
mov edx, dword [0x49f8dc]
dec edx
mov dword [0x49f8dc], edx
mov si, word [0x491262]
movsx esi, si
sar esi, 5
imul esi, edx
add dword [0x49c410], esi
mov esi, ebx
shl ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0x10]
lea eax, [eax + esi]
mov edx, dword [esp + 0x48]
mov dword [edx + eax*4], ecx
mov dword [0x4ab75c], 0xf6919a6d
lea ebx, [esp + 0x34]
jmp 0x40a944
mov eax, dword [esp + 0x10]
lea eax, [eax + esi]
mov ecx, dword [esp + 0x48]
xor edx, edx
dec edx
mov dword [ecx + eax*4], edx
lea eax, [esi - 1]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], esi
mov eax, dword [0x4a0bb0]
mov cx, word [0x490fd4]
and ecx, eax
mov word [0x490fd4], cx
sub esi, dword [esp + 0xc]
mov dword [esp + 0x24], esi
lea eax, [esi - 1]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
inc dword [eax + esi*4 - 4]
mov eax, dword [0x4a654c]
mov eax, dword [0x49db08]
xor dword [0x4a0a1c], eax
mov ax, word [0x490ac4]
add eax, 0xffffcb4d
mov word [0x490ac4], ax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
dec dword [eax + ecx*4 - 4]
mov eax, dword [0x49c6a4]
imul eax, eax, 0x53b66a71
mov dword [0x49c6a4], eax
push 0
push ebx
call fcn.00407398
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov cx, word [0x48c8a4]
add ecx, 0x1008
xor eax, eax
mov edx, dword [esp + 0x1c]
cmp edx, 2
mov word [0x48c8a4], cx
jl 0x40a9ed
mov eax, dword [esp + 0x54]
mov eax, dword [eax + edx*4 - 8]
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
mov ax, word [0x48dd34]
lea ecx, [eax - 1]
mov word [0x48dd34], cx
cwde
add eax, 0xf29cba70
cmp eax, 0xa7b878
jl 0x40aa20
mov eax, dword [0x497c74]
imul eax, eax, 0xfbf7fff5
mov dword [0x497c74], eax
mov eax, dword [esp + 0x54]
mov eax, dword [eax + edx*4 - 4]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
add dword [0x4a7724], 0x446562a9
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
push dword [eax + ecx*4 - 4]
push ebx
push ebx
call fcn.00407269
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x498aac]
add dword [0x4a82fc], 0xb16f940d
push 0
lea eax, [esp + 0x2c]
push eax
call fcn.00407398
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov ax, word [0x48f09e]
cwde
add eax, 0x7ce08157
mov ecx, dword [0x498b6c]
lea edx, [ecx + 1]
mov dword [0x498b6c], edx
cmp eax, ecx
mov esi, dword [esp + 0x20]
jle 0x40aabe
mov eax, dword [0x49d0f0]
lea ecx, [eax + 1]
mov dword [0x49d0f0], ecx
add eax, 0xd44898e9
mov dword [0x49d2a0], eax
jmp 0x40aad4
mov eax, dword [0x4984b4]
cmp eax, 0x3e94b2de
jl 0x40aad4
mov eax, dword [0x493fe4]
mov eax, dword [0x4a2a78]
xor eax, eax
cmp esi, 2
mov ecx, 0
jl 0x40aae8
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + esi*4 - 8]
mov edx, dword [esp + 0x30]
mov dword [edx], ecx
add dword [0x49d5dc], 0x16902cd7
test esi, esi
jle 0x40ab07
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], eax
mov eax, dword [0x49ef60]
lea ecx, [eax + 1]
mov dword [0x49ef60], ecx
and eax, 0x14085211
mov ecx, dword [0x4a18e0]
or ecx, eax
or ecx, 0xebd6a9cc
mov dword [0x4a18e0], ecx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + esi*4]
mov ecx, dword [esp + 0x30]
mov dword [ecx + 8], eax
add dword [0x4a2e68], 0xdf66f3fe
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.0040448e
add esp, 8
test eax, eax
jg 0x40a984
mov eax, dword [0x49f894]
or dword [0x4a6cf8], 0x6b9385a2
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
push dword [eax + ecx*4 - 4]
push edi
push ebx
call fcn.00407269
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x49af5c]
lea ecx, [eax + 1]
mov dword [0x49af5c], ecx
and eax, 0xed065d6c
mov dword [0x4a33c0], eax
mov eax, dword [esp + 8]
shl eax, 5
mov dword [esp + 8], eax
push eax
push ebx
call fcn.00410b8d
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x4ab1b4]
mov ecx, dword [0x49ef00]
add ecx, 0xcfb19fe1
cmp eax, ecx
jge 0x40abea
and dword [0x4abe94], 0xa85eb096
jmp 0x40abf4
mov dword [0x4a8070], 0xffb7fbf6
push ebx
lea eax, [esp + 0x5c]
push eax
push eax
call fcn.0040c993
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x40aed7
mov ax, word [0x4912d0]
or eax, 0xff8f
mov word [0x4912d0], ax
push 0
lea eax, [esp + 0x5c]
push eax
call fcn.004123f2
add esp, 8
test eax, eax
jns 0x40acf9
mov ax, word [0x48b6d8]
cwde
xor eax, 0xc97adda9
cmp eax, 0xfe7fd75f
jl 0x40ac59
mov ax, word [0x48c008]
or eax, 0x8a6a
mov word [0x48c008], ax
push edi
push ebx
call fcn.00413fe2
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
add dword [0x4ab7d4], 0xb5dd76f5
push dword [esp + 8]
push ebx
call fcn.00410b8d
add esp, 8
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x494634]
mov ecx, 0x7a6038ef
sub ecx, eax
add dword [0x49d074], ecx
push ebx
lea eax, [esp + 0x5c]
push eax
push eax
call fcn.004062d3
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x40aed7
mov eax, dword [0x4942cc]
lea ecx, [eax - 1]
mov dword [0x4942cc], ecx
mov ecx, dword [0x49a0b0]
lea eax, [eax + ecx - 0x624b0036]
mov dword [0x49a0b0], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
dec dword [eax + ecx*4 - 4]
mov eax, dword [0x497c70]
lea ecx, [eax - 1]
mov dword [0x497c70], ecx
add dword [0x49b5bc], eax
mov eax, dword [0x4a0f68]
mov cx, word [0x48b12e]
movsx ecx, cx
xor ecx, eax
mov dword [0x493be4], ecx
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x20], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x80]
jg 0x40a5a2
mov eax, dword [0x4a65d4]
cmp eax, 0x6914c084
jl 0x40ad41
mov ax, word [0x48acc8]
jmp 0x40ad51
mov eax, dword [0x49cea4]
or eax, 0x906e7492
add dword [0x4a59e4], eax
mov ebp, dword [esp + 0x78]
test ebp, ebp
je 0x40adbe
add dword [0x4a850c], 0x642f22de
lea eax, [esp + 0x40]
push eax
push ebp
call fcn.00413fe2
add esp, 8
mov eax, dword [0x49ff60]
and eax, 0xfffffffc
cmp eax, 0x9f2f5aac
jne 0x40ad8a
add dword [0x4951d0], 0x38bddbf6
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
imul eax, dword [esi]
mov dword [ebp], eax
mov eax, dword [0x4ab0e8]
dec eax
mov dword [0x4ab0e8], eax
and eax, 0xb3d434a2
mov ecx, dword [0x493e7c]
inc ecx
mov dword [0x493e7c], ecx
or ecx, eax
or dword [0x496c94], ecx
and dword [0x4a9390], 0x2f3d53b0
mov ebp, dword [esp + 0x7c]
test ebp, ebp
je 0x40aebf
mov ax, word [0x48e142]
dec eax
mov word [0x48e142], ax
cwde
mov ecx, dword [0x4ac020]
lea eax, [ecx + eax + 0x50b6fe9a]
cmp eax, 0xd534f121
lea esi, [esp + 0x58]
jl 0x40ae15
mov eax, dword [0x4a2e14]
lea ecx, [eax + 1]
mov dword [0x4a2e14], ecx
add eax, 0x2d098259
xor dword [0x49f4a0], eax
jmp 0x40ae26
mov ax, word [0x492aa8]
and eax, 0x2f43
mov word [0x492aa8], ax
push dword [esp + 0x14]
push esi
call fcn.0042f0bc
add esp, 8
mov ax, word [0x48aeaa]
imul eax, eax, 0x3c70
mov word [0x48aeaa], ax
push esi
push ebp
call fcn.00413fe2
add esp, 8
mov dword [0x49e9d8], 0xb4b8a1b8
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov dword [ebp], eax
mov eax, dword [0x49e194]
cmp eax, 0xfb33542d
jg 0x40ae89
mov eax, dword [0x4ab2bc]
lea ecx, [eax - 1]
mov dword [0x4ab2bc], ecx
add eax, 0x5d7bc7c7
mov dword [0x49d6a8], eax
push 0
push ebp
call fcn.004123f2
add esp, 8
test eax, eax
jne 0x40ae9f
mov dword [ebp], 1
mov eax, dword [0x496518]
add eax, 0x6136
mov cx, word [0x48da22]
xor ecx, eax
xor ecx, 0xca21
mov word [0x48da22], cx
mov eax, dword [0x4aa46c]
dec eax
mov dword [0x4aa46c], eax
and eax, 0xcc28
mov word [0x491450], ax
xor esi, esi
push 0
lea eax, [esp + 0x2c]
push eax
push ebx
lea eax, [esp + 0x4c]
push eax
push edi
lea eax, [esp + 0x6c]
push eax
call fcn.0041f4fc
add esp, 0x18
mov ax, word [0x48dda2]
shl eax, 6
mov cx, word [0x49002e]
xor ecx, eax
mov word [0x49002e], cx
mov eax, esi
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret