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

Disassembly:
mov ax, word [0x489e0c]
add eax, 0xffffac9c
xor eax, 0xffffe323
mov cx, word [0x488740]
or ecx, eax
mov word [0x488740], cx
mov eax, dword [0x48db6c]
dec eax
mov dword [0x48db6c], eax
and eax, 0x2100a44a
mov ecx, dword [0x48f6a0]
lea edx, [ecx - 1]
mov dword [0x48f6a0], edx
add ecx, 0xd33f6f5d
cmp eax, ecx
jle 0x41abd6
mov ax, word [0x489d44]
or eax, 0xfd55
mov word [0x489d44], ax
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov eax, dword [0x490db0]
lea ecx, [eax - 1]
mov dword [0x490db0], ecx
or eax, 0x5b62ff77
add dword [0x48cf0c], eax
push 0
push dword [esp + 0x88]
call fcn.004022e1
add esp, 8
mov esi, 0xfffffff4
test eax, eax
je 0x41bb0c
mov eax, dword [0x48edc4]
cmp eax, 0xbee07237
jl 0x41ac44
mov eax, dword [0x48d0b8]
dec eax
mov dword [0x48d0b8], eax
imul eax, eax, 0x3a43db63
and eax, 0x6a5eb617
mov ecx, dword [0x48ce28]
sub ecx, eax
mov dword [0x48ce28], ecx
mov ebp, dword [esp + 0x78]
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.00406197
add esp, 0x18
mov eax, dword [0x490d9c]
xor eax, 0x5262bf14
or dword [0x49130c], eax
push dword [esp + 0x84]
push dword [esp + 0x84]
call fcn.00405b62
add esp, 8
test eax, eax
js 0x41acd7
mov eax, dword [0x48ec08]
and eax, 0xd243c4c4
cmp eax, 0xfd1e5dd5
jg 0x41ad5f
mov eax, dword [0x490d3c]
imul eax, eax, 0x3b57983c
and eax, 0x99c25dac
mov ecx, dword [0x48aa58]
cmp eax, ecx
jle 0x41ad4a
mov dword [0x490638], 0x59d3acb6
jmp 0x41ad5f
mov eax, dword [0x48bc64]
lea eax, [eax*8 - 0x53a76d10]
mov dword [0x48d97c], eax
test ebp, ebp
je 0x41ad01
push 0
push ebp
call fcn.0042c06b
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
mov ax, word [0x48939c]
or eax, 0xff6b
mov word [0x48939c], ax
cmp dword [esp + 0x7c], 0
je 0x41ad39
push dword [esp + 0x80]
push dword [esp + 0x80]
call fcn.00407085
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
and dword [0x49057c], 0x6e38dd44
xor esi, esi
jmp 0x41bb0c
mov eax, dword [0x48ee4c]
mov ecx, dword [0x490a8c]
xor ecx, eax
not ecx
mov dword [0x490a8c], ecx
push dword [esp + 0x80]
push esi
call fcn.00407085
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
add dword [0x48aa90], 0x6124200d
push dword [esp + 0x84]
push edi
call fcn.00407085
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
mov eax, dword [0x48df18]
shl eax, 5
mov ecx, dword [0x490528]
shl ecx, 0xa
and ecx, eax
mov eax, dword [0x48ac80]
sub eax, ecx
mov dword [0x48ac80], eax
xor eax, eax
inc eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], eax
mov word [0x4899c6], 0x544b
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 4]
add eax, 2
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0041a669
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
mov ax, word [0x489e14]
and dword [0x491434], 0x73c18797
push 0
lea eax, [esp + 0x44]
push eax
call fcn.0042c06b
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
mov eax, dword [0x48b85c]
lea ecx, [eax + 1]
mov dword [0x48b85c], ecx
add eax, 0x4a35fd0e
mov cx, word [0x487ec6]
movsx ecx, cx
sar ecx, 3
mov edx, 0x2158d78b
sub edx, ecx
cmp eax, edx
jle 0x41ae5b
mov eax, dword [0x49055c]
imul eax, eax, 0xbf00c184
mov dword [0x49055c], eax
jmp 0x41ae76
mov eax, dword [0x48fc08]
xor eax, 0x8b6bf21b
cmp eax, 0x6776e9e3
jg 0x41ae76
and dword [0x4913f0], 0x30fa1a81
push 2
push ebx
call fcn.0041a669
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
add dword [0x4909ec], 0xfe214086
push 3
lea eax, [esp + 0x2c]
push eax
call fcn.0041a669
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
mov eax, dword [0x48ff4c]
mov ecx, dword [0x4913b0]
xor ecx, eax
and dword [0x48e880], ecx
push edi
call fcn.00405468
add esp, 4
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
add ecx, eax
and ecx, 0xffffffe0
sub eax, ecx
mov cx, word [0x487756]
movsx ecx, cx
mov edx, 0x1d92e674
sub edx, ecx
mov ecx, dword [0x48b8ec]
lea esi, [ecx + 1]
mov dword [0x48b8ec], esi
add ecx, 0x20219d6e
and ecx, 0x3715a5a4
cmp edx, ecx
jle 0x41af13
add dword [0x490920], 0xff3dfed0
xor ecx, ecx
cmp eax, 0x1e
jg 0x41afb9
mov ecx, dword [0x48e824]
mov edx, dword [0x48f7c4]
or edx, 0xb793f3ad
cmp ecx, edx
jl 0x41af3e
mov dword [0x490bd0], 0x6468d3cd
mov edx, 0x1f
sub edx, eax
mov dword [esp + 0x14], edx
mov eax, dword [0x48d3d0]
mov ecx, dword [0x48cad0]
dec ecx
mov dword [0x48cad0], ecx
imul ecx, eax
imul eax, ecx, 0x257d0048
mov word [0x48a2f8], ax
push edx
lea eax, [esp + 0x5c]
push eax
call fcn.00411f93
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
mov ax, word [0x488a16]
imul eax, eax, 0x433a
mov word [0x488a16], ax
push dword [esp + 0x14]
push edi
call fcn.00411f93
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
or dword [0x48e2c8], 0x9b8e7c61
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov eax, dword [0x48cc54]
imul eax, eax, 0xe13ffdd2
mov dword [0x48cc54], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
lea ebp, [eax - 1]
mov dword [esp + 0x20], ebp
mov eax, dword [0x48ba84]
mov eax, dword [0x48b9d0]
lea eax, [eax + eax - 0x761e6a2a]
mov dword [0x48d764], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
dec eax
mov dword [esp + 0x10], eax
add dword [0x48efa0], 0x4461b27b
sub ebp, eax
mov eax, ebp
shl eax, 5
mov dword [esp + 0x18], eax
push eax
push edi
call fcn.00411f93
add esp, 8
and dword [0x490d74], 0xa5bcad92
push edi
lea esi, [esp + 0x5c]
push esi
jmp 0x41b091
inc dword [0x48df40]
mov word [0x48a17c], 0xe89e
mov eax, dword [esp + 0x48]
inc dword [eax + ebp*4]
mov eax, dword [0x48f2dc]
imul eax, eax, 0x91c4ff5
mov cx, word [0x487786]
xor ecx, eax
mov word [0x487786], cx
push edi
push esi
push esi
call fcn.0041fe3d
add esp, 0xc
mov eax, dword [0x48f244]
lea ecx, [eax - 1]
mov dword [0x48f244], ecx
mov ecx, dword [0x4913e4]
dec ecx
mov dword [0x4913e4], ecx
and ecx, eax
mov dword [0x49138c], ecx
push edi
push esi
call fcn.0040e806
add esp, 8
test eax, eax
jns 0x41b030
mov eax, dword [0x48af6c]
lea ecx, [eax + 1]
mov dword [0x48af6c], ecx
imul eax, eax, 0x2ecd309e
and eax, 0xce0f7620
mov dword [0x48e694], eax
push dword [esp + 0x18]
push edi
call fcn.004202ef
add esp, 8
add dword [0x48b4f0], 0x47cf01ae
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x24], edx
mov ebp, 1
jle 0x41b8c7
sub ebp, edx
dec ebp
mov ax, word [0x4887bc]
mov ax, word [0x4894ae]
or eax, 0xffffd6d2
mov cx, word [0x487bc2]
xor ecx, eax
mov word [0x487bc2], cx
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 0x41b2af
mov dword [esp + 4], ebp
mov eax, dword [0x48d054]
lea ecx, [eax + 1]
mov dword [0x48d054], ecx
mov ecx, dword [0x48cb28]
sub eax, ecx
mov cx, word [0x48976c]
or ecx, eax
mov word [0x48976c], cx
and dword [0x48e228], 0x9c84
mov eax, dword [0x48f250]
imul eax, eax, 0xa3755a1f
mov dword [0x48f250], eax
mov eax, dword [esp + 0x54]
mov ebp, dword [eax + edx*4 - 4]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], edx
xor dword [0x491540], 0x58936a4a
mov eax, dword [0x48f0e4]
shr eax, 8
xor eax, 0xa4a0
mov cx, word [0x489012]
add ecx, eax
mov word [0x489012], cx
mov ecx, ebp
shr ecx, 0x10
mov dword [esp + 0xc], ecx
add dword [0x490004], 0x5d616a8a
mov eax, dword [esp + 0x60]
mov eax, dword [eax + esi*4]
xor edx, edx
div ecx
mov ecx, dword [0x490620]
lea edx, [ecx - 1]
mov dword [0x490620], edx
mov dx, word [0x488cda]
movsx edx, dx
sub ecx, edx
cmp ecx, 0x783e5228
movzx ecx, bp
mov dword [esp + 0x18], ecx
jl 0x41b215
mov dword [esp + 8], eax
mov eax, dword [0x490028]
mov dx, word [0x48913a]
add edx, 0xb7e8
mov ecx, esi
mov si, word [0x487606]
xor esi, eax
mov eax, dword [esp + 8]
xor esi, edx
mov word [0x487606], si
mov esi, ecx
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + esi*4]
mov edx, eax
imul edx, dword [esp + 0xc]
sub ecx, edx
xor dword [0x49066c], 0x808a6288
shl ecx, 0x10
add dword [0x48ce8c], 0x64abc34b
mov edx, dword [esp + 0x60]
movzx esi, word [edx + esi*4 - 2]
or esi, ecx
mov cx, word [0x489eea]
imul ecx, ecx, 0x5e0c
mov word [0x489eea], cx
mov ecx, eax
imul ecx, dword [esp + 0x18]
mov edx, dword [0x48b638]
add edx, 0x4416844f
xor dword [0x48c99c], edx
cmp esi, ecx
jae 0x41b2cd
mov edx, dword [0x48af20]
sar edx, 1
imul edx, edx, 0xc38e6dd8
cmp edx, 0xb1badecd
jg 0x41b2d3
mov dx, word [0x487314]
movsx ebp, dx
sar ebp, 8
mov edx, dword [0x48eff0]
sub edx, ebp
mov dword [0x48eff0], edx
jmp 0x41b2f3
mov dword [esp + 0x1c], edx
lea eax, [ebp + 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
jmp 0x41b51e
mov dword [esp + 8], eax
jmp 0x41b334
mov edx, dword [0x48cf48]
cmp edx, 0xd4a5e154
jl 0x41b2f3
mov edx, dword [0x490cf8]
xor edx, 0x510a999a
and dword [0x48eb00], edx
mov edx, dword [0x48ceac]
imul ebp, edx, 0x5e64f920
mov edx, dword [0x490010]
and edx, ebp
add dword [0x48ff08], edx
mov edx, dword [esp + 0x24]
add esi, edx
dec eax
cmp esi, edx
jb 0x41b31c
cmp esi, ecx
jb 0x41b30d
mov dword [esp + 8], eax
mov dx, word [0x488a72]
imul edx, edx, 0x4459
mov word [0x488a72], dx
xor dword [0x48b428], 0xd8ef0d00
sub esi, ecx
mov eax, dword [0x48c3d0]
lea edx, [eax - 1]
mov dword [0x48c3d0], edx
mov edx, dword [0x48af24]
imul edx, eax
imul eax, edx, 0x33bf1bba
mov dword [0x48af24], eax
xor edx, edx
mov eax, esi
mov ecx, dword [esp + 0xc]
div ecx
or dword [0x48efb0], 0x8c8d900b
imul ecx, eax
sub esi, ecx
mov cx, word [0x4877e4]
lea edx, [ecx + 1]
mov word [0x4877e4], dx
mov edx, dword [0x48dd94]
dec edx
mov dword [0x48dd94], edx
mov bp, word [0x48a3d2]
mov dword [esp + 0xc], ebp
imul edx, edx, 0x8d94f7f
sub edx, ecx
add edx, dword [esp + 0xc]
mov word [0x48a3d2], dx
shl esi, 0x10
mov dword [0x48dfe8], 0x67b6d378
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
movzx edx, word [edx + ecx*4 - 4]
or edx, esi
mov ecx, dword [0x48bd84]
and ecx, 0xe23a55d1
mov si, word [0x487f00]
movsx esi, si
not esi
imul esi, esi, 0xccc8d5b0
cmp ecx, esi
je 0x41b40d
mov esi, dword [0x48c49c]
cmp esi, 0xe1d95b94
jg 0x41b40d
mov dword [0x48b92c], 0x395b4b80
mov ecx, dword [esp + 0x18]
imul ecx, eax
mov dword [esp + 0x18], ecx
mov esi, dword [0x48ada4]
or esi, 0xa3c135f6
xor esi, 0x48220008
add dword [0x490fd4], esi
cmp edx, ecx
jae 0x41b4ad
mov ecx, dword [0x48bc6c]
lea esi, [ecx - 1]
mov dword [0x48bc6c], esi
cmp ecx, 0x332a8291
jg 0x41b454
mov word [0x4896a8], 0x9c6b
mov esi, dword [0x48aa24]
not esi
and dword [0x48daec], esi
mov ecx, dword [esp + 0x24]
add edx, ecx
mov esi, dword [esp + 0x18]
dec eax
cmp edx, ecx
jb 0x41b478
cmp edx, esi
lea edx, [edx + ecx]
jb 0x41b46c
mov edx, dword [0x48aebc]
dec edx
mov dword [0x48aebc], edx
mov si, word [0x488906]
movsx esi, si
and esi, edx
cmp esi, 0x1fab38f5
jl 0x41b4ad
mov dx, word [0x489fc0]
imul edx, edx, 0x31ea
mov word [0x489fc0], dx
mov ebp, dword [esp + 4]
mov edx, dword [0x48bc28]
lea esi, [edx + 1]
mov dword [0x48bc28], esi
or edx, 0xadc5b368
mov ecx, dword [0x48dd68]
lea esi, [ecx + 1]
mov dword [0x48dd68], esi
cmp edx, ecx
je 0x41b4e3
and dword [0x48bca0], 0x93cd49df
mov esi, dword [esp + 0x20]
lea ecx, [esi - 1]
mov dword [esp + 0x18], ecx
mov edx, dword [0x48d464]
imul edx, edx, 0xb24a3de8
mov dword [0x48d464], edx
mov ecx, dword [esp + 8]
shl ecx, 0x10
or eax, ecx
lea ecx, [ebp + esi]
mov edx, dword [esp + 0x48]
mov dword [edx + ecx*4], eax
and dword [0x48fc8c], 0x3412913e
mov dword [esp + 0x20], esi
or dword [0x48d748], 0xbecdffb7
sub esi, dword [esp + 0x10]
mov dword [esp + 0x24], esi
lea eax, [esi - 1]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
inc dword [eax + esi*4 - 4]
add dword [0x48f5c8], 0x85e3e0bd
mov ax, word [0x488980]
xor eax, 0xca85
mov word [0x488980], ax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
dec dword [eax + ecx*4 - 4]
mov word [0x4891a6], 0x489f
push 0
push ebx
call fcn.0042c06b
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
add dword [0x490a30], 0x5de7f3f5
xor eax, eax
mov edx, dword [esp + 0x1c]
cmp edx, 2
jl 0x41b5a5
mov eax, dword [esp + 0x54]
mov eax, dword [eax + edx*4 - 8]
mov ecx, dword [esp + 0x3c]
mov dword [ecx], eax
mov ax, word [0x4879be]
mov eax, dword [esp + 0x54]
mov eax, dword [eax + edx*4 - 4]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [0x491710]
lea ecx, [eax - 1]
mov dword [0x491710], ecx
cmp eax, 0x78cff943
jne 0x41b5e1
mov dword [0x48a984], 0xeb81208b
jmp 0x41b5f4
mov eax, dword [0x48d9c8]
mov ecx, dword [0x48f42c]
xor ecx, eax
or dword [0x48bdcc], ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
push dword [eax + ecx*4 - 4]
push ebx
push ebx
call fcn.00412c4f
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x41baab
mov dword [0x48c288], 0x3f7c3fd0
push 0
lea eax, [esp + 0x2c]
push eax
call fcn.0042c06b
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
xor dword [0x490cac], 0xca53c73d
xor eax, eax
mov esi, dword [esp + 0x20]
cmp esi, 2
mov ecx, 0
jl 0x41b659
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + esi*4 - 8]
mov edx, dword [esp + 0x30]
mov dword [edx], ecx
mov ecx, dword [0x48d2e0]
sar ecx, 3
xor ecx, 0x5c4432e0
mov edx, dword [0x48d844]
sub edx, ecx
test esi, esi
mov dword [0x48d844], edx
jle 0x41b68b
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 ax, word [0x489740]
cwde
mov ecx, dword [0x48cdbc]
inc ecx
mov dword [0x48cdbc], ecx
imul ecx, eax
xor ecx, 0xc3259aa0
cmp ecx, 0x1161c0ea
jl 0x41b6f5
mov ax, word [0x487916]
dec eax
mov word [0x487916], ax
mov eax, dword [0x48e4c4]
dec dword [0x48dac4]
mov eax, dword [0x48f0bc]
mov cx, word [0x489168]
shl ecx, 8
add ecx, 0x93d5e7d1
xor ecx, eax
mov ax, word [0x4897b2]
imul eax, ecx
mov word [0x4897b2], ax
mov eax, dword [esp + 0x60]
mov eax, dword [eax + esi*4]
mov ecx, dword [esp + 0x30]
mov dword [ecx + 8], eax
mov eax, dword [0x48acd8]
not eax
and eax, 0x52aa
mov cx, word [0x489bfa]
or ecx, eax
mov word [0x489bfa], cx
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.0040e806
add esp, 8
test eax, eax
jg 0x41b54d
mov eax, dword [0x490200]
add eax, 0x41c7
mov word [0x488e42], ax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
push dword [eax + ecx*4 - 4]
push edi
push ebx
call fcn.00412c4f
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x41baab
mov eax, dword [0x48e904]
cmp eax, 0xbf76ffff
jne 0x41b790
mov eax, dword [0x48c378]
add eax, 0x31f5
and eax, 0x4cb0
mov cx, word [0x488476]
or ecx, eax
mov word [0x488476], cx
mov eax, dword [esp + 0xc]
shl eax, 5
mov dword [esp + 0xc], eax
push eax
push ebx
call fcn.00411f93
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
mov dword [0x490f48], 0x4da64bfd
push ebx
lea eax, [esp + 0x5c]
push eax
push eax
call fcn.0041fe3d
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x41baab
mov eax, dword [0x49159c]
inc eax
mov dword [0x49159c], eax
imul eax, eax, 0x5fffe89c
or dword [0x48c95c], eax
push 0
lea eax, [esp + 0x5c]
push eax
call fcn.004022e1
add esp, 8
test eax, eax
jns 0x41b896
xor dword [0x48cb38], 0xf01362d0
push edi
push ebx
call fcn.00407085
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
add dword [0x490578], 0x31fd36bd
push dword [esp + 0xc]
push ebx
call fcn.00411f93
add esp, 8
mov esi, eax
test esi, esi
jne 0x41baab
mov eax, dword [0x48d6b4]
xor eax, 0xc7342a19
mov ecx, dword [0x491474]
not ecx
or ecx, eax
mov dword [0x48c240], ecx
push ebx
lea eax, [esp + 0x5c]
push eax
push eax
call fcn.00427633
add esp, 0xc
mov esi, eax
test esi, esi
jne 0x41baab
mov word [0x4890c6], 0xbf50
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
dec dword [eax + ecx*4 - 4]
mov eax, dword [0x48f7e4]
add eax, 0x18e9372f
mov dword [0x48c3e4], eax
mov eax, dword [0x48b918]
imul eax, eax, 0xb2e6819f
mov cx, word [0x487bf0]
xor ecx, eax
mov word [0x487bf0], cx
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x20], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
jg 0x41b0e8
mov eax, dword [0x48b6b0]
lea ecx, [eax - 1]
mov dword [0x48b6b0], ecx
mov ecx, 0x9618a037
sub ecx, eax
add dword [0x48b8f8], ecx
mov esi, dword [esp + 0x78]
test esi, esi
je 0x41b959
mov eax, dword [0x4911e0]
lea ecx, [eax - 1]
mov dword [0x4911e0], ecx
xor eax, 0xf1906088
add dword [0x48c534], eax
lea eax, [esp + 0x40]
push eax
push esi
call fcn.00407085
add esp, 8
mov eax, dword [0x48f1b4]
lea ecx, [eax - 1]
mov dword [0x48f1b4], ecx
add eax, 0xd110
mov cx, word [0x487ec4]
xor ecx, eax
mov word [0x487ec4], cx
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
mov ecx, dword [esp + 0x80]
imul eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [0x48f658]
imul eax, eax, 0xda5626d6
mov dword [0x48f658], eax
mov eax, dword [0x48b1fc]
cmp eax, 0x9a2d2b07
je 0x41b976
mov eax, dword [0x48b844]
sar eax, 1
or eax, 0x1040c401
mov dword [0x4904a4], eax
mov ebp, dword [esp + 0x7c]
test ebp, ebp
mov eax, dword [esp + 0x14]
je 0x41ba97
and dword [0x48cc20], 0x4bd87775
push eax
lea esi, [esp + 0x5c]
push esi
call fcn.004202ef
add esp, 8
mov eax, dword [0x48f114]
lea ecx, [eax + 1]
mov dword [0x48f114], ecx
imul eax, eax, 0x8e431990
or eax, 0xb09ca07
mov cx, word [0x487f08]
movsx ecx, cx
sar ecx, 4
xor ecx, 0xace8ed8a
cmp eax, ecx
jne 0x41b9de
mov eax, dword [0x48eef0]
add eax, 0x3cb749ea
or dword [0x490ec0], eax
push esi
push ebp
call fcn.00407085
add esp, 8
mov eax, dword [0x490b44]
dec eax
mov dword [0x490b44], eax
or eax, 0xe8595fac
add dword [0x48cb74], eax
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov dword [ebp], eax
mov ax, word [0x4890f4]
cwde
xor eax, 0x101b038b
cmp eax, 0x100062f
jg 0x41ba3d
mov eax, dword [0x490cb4]
sar eax, 7
mov ecx, dword [0x48f474]
xor ecx, 0x79f711cf
cmp eax, ecx
jge 0x41ba70
mov ax, word [0x48a7d4]
jmp 0x41ba70
mov eax, dword [0x48b10c]
imul eax, eax, 0xa59e2edb
mov ecx, dword [0x48d17c]
and ecx, eax
cmp ecx, 0x28021020
jl 0x41ba5f
mov eax, dword [0x48c054]
jmp 0x41ba70
mov ax, word [0x489c14]
xor eax, 0x7ead
mov word [0x489c14], ax
push 0
push ebp
call fcn.004022e1
add esp, 8
test eax, eax
jne 0x41ba86
mov dword [ebp], 1
mov eax, dword [0x48e1d0]
dec eax
mov dword [0x48e1d0], eax
or dword [0x490458], eax
mov ax, word [0x489a56]
imul eax, eax, 0x196
mov word [0x489a56], 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.0040d8ed
add esp, 0x18
mov eax, dword [0x48f7dc]
lea ecx, [eax - 1]
mov dword [0x48f7dc], ecx
mov ecx, dword [0x48d728]
and ecx, 0xd586d9cc
xor ecx, eax
cmp ecx, 0x39bb46dd
jl 0x41bb0c
mov eax, dword [0x48b760]
lea ecx, [eax - 1]
mov dword [0x48b760], ecx
mov ecx, dword [0x48fc20]
and ecx, eax
and ecx, 0xa5fae3f2
mov dword [0x48fc20], ecx
mov eax, esi
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret