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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x114
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x124]
mov edx, 0x654a858d
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], ecx
mov si, word [0x4af498]
mov ax, si
mov si, word [0x4b0e84]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x4b0e84], si
mov eax, dword [0x4a6b7c]
mov ecx, eax
dec ecx
mov dword [0x4a6b7c], ecx
xor eax, 0x9f6a4c88
cmp edx, eax
je 0x403265
mov eax, dword [0x4a3da8]
and eax, 0x80000012
mov dword [0x4a3da8], eax
mov eax, dword [0x4a6518]
mov ecx, eax
dec ecx
mov dword [0x4a6518], ecx
xor eax, 0x1fbdb925
mov ecx, dword [0x497814]
not ecx
mov dx, word [0x4b38c6]
mov si, dx
inc esi
mov dx, si
mov word [0x4b38c6], dx
movsx esi, dx
xor ecx, esi
cmp eax, ecx
je 0x4032b6
mov eax, dword [0x4a0f7c]
xor eax, 0xcecb44c4
mov dword [0x4a0f7c], eax
jmp 0x4032d4
mov eax, dword [0x49cc90]
dec eax
mov dword [0x49cc90], eax
or eax, 0xa945b79e
mov ecx, dword [0x49d438]
and ecx, eax
mov dword [0x49d438], ecx
mov ax, word [0x4ab208]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4ab208], dx
movsx ecx, ax
mov esi, dword [0x499f20]
add esi, ecx
mov dword [0x499f20], esi
mov dword [esp + 0xe4], 0
mov ecx, dword [0x4a87c4]
mov esi, dword [0x49c5d0]
xor ecx, esi
xor ecx, 0x1805f34c
mov dword [0x49c5d0], ecx
mov ecx, dword [esp + 0x10c]
call fcn.004396e0
cmp eax, 0xb
jbe 0x403665
mov eax, 0xd4994672
mov ecx, dword [0x49c924]
mov edx, ecx
inc edx
mov dword [0x49c924], edx
mov edx, dword [0x4a0fe8]
lea ecx, [edx + ecx + 1]
mov dword [0x4a0fe8], ecx
lea ecx, [esp + 0xd0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], eax
call fcn.00401b60
mov word [0x4b1220], 0x8e85
mov ecx, dword [0x4a8bd4]
and ecx, 0xb578ce91
mov dword [0x4a8bd4], ecx
mov ecx, dword [esp + 0x10c]
mov edx, esp
lea esi, [esp + 0xb8]
mov dword [edx], esi
mov dword [edx + 8], 0xb
mov dword [edx + 4], 0
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], esi
call fcn.0041bed0
sub esp, 0xc
mov eax, esp
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
call fcn.00423040
sub esp, 4
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x54], eax
call fcn.0041f990
mov di, word [0x4ac75c]
movsx eax, di
xor eax, 0x69c8d4a9
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jne 0x403430
mov eax, 0xffedffef
mov cx, word [0x4b3b6c]
movsx edx, cx
add edx, edx
mov esi, dword [0x4a58b8]
sub edx, esi
cmp eax, edx
jle 0x40342b
mov eax, dword [0x4a7560]
xor eax, 0x3125753b
mov ecx, dword [0x4a8ce0]
or ecx, eax
mov dword [0x4a8ce0], ecx
jmp 0x403430
mov eax, 0x7b3bf79f
mov ecx, esp
mov dword [ecx + 4], 0xc
mov dword [ecx], 0x5d7d
mov dword [esp + 0x50], eax
call fcn.00437eb0
mov dword [esp + 0x104], eax
mov eax, dword [0x49b394]
imul eax, eax, 0x9a9bd8a0
mov dword [0x49b394], eax
mov eax, dword [esp + 0x104]
lea ecx, [esp + 0xd0]
mov dword [esp + 0x4c], eax
call fcn.00423bf0
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.00455490
test eax, eax
sete bl
movzx eax, bl
mov dword [esp + 0xcc], eax
mov word [0x4acd2c], 0x38b7
mov eax, dword [esp + 0x104]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.0044b770
mov eax, dword [0x4a09cc]
mov ecx, dword [esp + 0x50]
cmp ecx, eax
je 0x4034ec
mov eax, dword [0x49c7c8]
mov ecx, eax
dec ecx
mov dword [0x49c7c8], ecx
xor eax, 0xee6e0324
mov ecx, dword [0x4a9168]
sub ecx, eax
mov dword [0x4a9168], ecx
cmp dword [esp + 0xcc], 0
je 0x403603
mov eax, dword [0x4a6490]
or eax, 0xdad0dc07
mov ecx, dword [0x4a0098]
cmp eax, ecx
jge 0x40358a
mov eax, 0xa731c3a9
mov ecx, dword [0x4a9ec8]
mov edx, dword [0x49c840]
mov esi, edx
dec esi
mov dword [0x49c840], esi
sub ecx, edx
add ecx, 0x7aea1088
cmp eax, ecx
jne 0x403563
mov eax, 0x800
mov cx, word [0x4b41b8]
movsx edx, cx
xor edx, 0xc7355546
cmp eax, edx
jl 0x40355e
jmp 0x40355e
jmp 0x403585
mov eax, dword [0x49c668]
mov ecx, eax
inc ecx
mov dword [0x49c668], ecx
imul eax, eax, 0x2d2059dd
mov ecx, dword [0x497794]
and ecx, eax
mov dword [0x497794], ecx
jmp 0x4035ac
mov eax, 0x98fd3135
mov ecx, dword [0x49795c]
cmp eax, ecx
je 0x4035a7
mov dword [0x4a17f0], 0x6af07973
jmp 0x4035ac
mov eax, 0x94f369ca
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x48], eax
call fcn.004396e0
add eax, 0xfffffff5
mov dword [esp + 0xe4], eax
mov eax, dword [0x4995a0]
and eax, 0x52aff12
and eax, 0x9f7484d8
mov ecx, dword [esp + 0x48]
cmp ecx, eax
je 0x4035fe
mov ax, word [0x4acb54]
mov cx, ax
imul ecx, ecx, 0xe445c614
mov ax, cx
mov word [0x4acb54], ax
jmp 0x403603
mov eax, dword [0x4a6954]
inc eax
mov dword [0x4a6954], eax
imul eax, eax, 0xaa76ffda
and eax, 0xf23d32d7
cmp eax, 0x29b88770
jl 0x403659
mov eax, dword [0x49a9e4]
mov ecx, dword [0x49ded8]
shl ecx, 7
imul eax, ecx
xor eax, 0xc99b7fad
cmp eax, 0x81d08866
je 0x403654
mov eax, dword [0x4a4290]
and eax, 0xc19db2a9
mov dword [0x4a4290], eax
jmp 0x403659
lea ecx, [esp + 0xd0]
call fcn.00449bc0
mov dword [0x4a2e40], 0xd340468c
mov eax, dword [esp + 0x108]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0xa4]
call fcn.0040e460
sub esp, 4
mov ecx, dword [0x4a09c8]
xor ecx, 0xffffffff
and ecx, 0x8eaa10c5
xor ecx, 0xa0929c5e
cmp ecx, 0xc87f17c9
mov dword [esp + 0x44], eax
jl 0x403706
mov eax, dword [0x4a4018]
sar eax, 8
or eax, 0x3d4b7d96
and eax, 0xfdeb7df7
mov ecx, dword [0x4a6c88]
mov edx, dword [0x49f510]
xor ecx, edx
or ecx, 0xd1d3347d
cmp eax, ecx
jle 0x403701
mov eax, dword [0x49a3b8]
add eax, 0xdadf4ebc
xor eax, 0xa21
mov cx, word [0x4b37b0]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4b37b0], cx
jmp 0x403747
mov eax, dword [0x49e898]
mov ecx, eax
dec ecx
mov dword [0x49e898], ecx
imul eax, eax, 0xfc54b47
or eax, 0xf5b84a5e
mov ecx, dword [0x49efd0]
imul ecx, ecx, 0x6e7789e0
cmp eax, ecx
jge 0x403742
mov eax, dword [0x49b874]
add eax, 0x4dd8ca8d
mov dword [0x49b874], eax
jmp 0x403747
mov eax, esp
mov dword [eax + 4], 2
mov dword [eax], 0x203d
call fcn.00437eb0
mov dword [esp + 0x100], eax
mov cx, word [0x4afc70]
movsx eax, cx
xor eax, 0xffffffff
and eax, 0x6e793c08
cmp eax, 0x79a35646
jl 0x403797
mov eax, dword [0x4a03e8]
and eax, 0x22a5eb2c
mov ecx, dword [0x49ff34]
xor ecx, eax
mov dword [0x49ff34], ecx
mov eax, 0x7711282e
mov ecx, esp
mov dword [ecx + 4], 8
mov dword [ecx], 0x8696
mov dword [esp + 0x40], eax
call fcn.00437eb0
mov dword [esp + 0xfc], eax
mov dx, word [0x4b3b9e]
movsx eax, dx
mov ecx, dword [0x4a3630]
sub ecx, eax
mov dword [0x4a3630], ecx
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x2f54
call fcn.00437eb0
mov dword [esp + 0xf8], eax
mov eax, dword [0x4a4a5c]
sub eax, 0x3075b29d
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jne 0x403813
mov eax, dword [0x4a48b4]
and eax, 0x729dceb5
mov dword [0x4a48b4], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x108]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00455520
cmp eax, 0
jne 0x4038cf
mov eax, 0xfc66d1e9
mov cx, word [0x4aea6a]
movsx edx, cx
shl edx, 3
sub edx, 0x4aa358ae
cmp eax, edx
je 0x403865
mov eax, dword [0x4a1d08]
add eax, 0x3c7832dc
mov dword [0x4a1d08], eax
mov eax, dword [esp + 0xfc]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x90]
mov ecx, eax
mov dword [esp + 0x3c], eax
call fcn.0040e460
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x3c]
mov dword [ecx], edx
lea ecx, [esp + 0xa4]
mov dword [esp + 0x38], eax
call fcn.0042a8d0
sub esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
call fcn.00449bc0
mov si, word [0x4b402c]
movsx eax, si
xor eax, 0x9095145e
mov ecx, dword [0x4a7e2c]
sub ecx, eax
mov dword [0x4a7e2c], ecx
jmp 0x4039bc
mov eax, 0x80e0b246
mov ecx, dword [0x499c44]
mov dx, word [0x4b04ce]
mov si, dx
inc esi
mov dx, si
mov word [0x4b04ce], dx
movsx esi, dx
and ecx, esi
cmp eax, ecx
jl 0x40395e
mov eax, 0x40985da2
mov cx, word [0x4aec02]
movsx edx, cx
or edx, 0x25b8e15e
cmp eax, edx
jle 0x403959
mov eax, 0xfa8ccd1e
mov cx, word [0x4b24b4]
mov dx, cx
inc edx
mov si, dx
mov word [0x4b24b4], si
movsx edx, cx
sub edx, 0x42da018f
sub edx, 0x3e751c47
cmp eax, edx
jl 0x40394f
jmp 0x403954
jmp 0x403954
jmp 0x403959
jmp 0x40395e
mov eax, dword [esp + 0xf8]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x7c]
mov ecx, eax
mov dword [esp + 0x30], eax
call fcn.0040e460
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x30]
mov dword [ecx], edx
lea ecx, [esp + 0xa4]
mov dword [esp + 0x2c], eax
call fcn.0042a8d0
sub esp, 4
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], eax
call fcn.00449bc0
mov si, word [0x4b37ec]
mov ax, si
add eax, 0x2653966f
mov si, ax
mov word [0x4b37ec], si
mov eax, dword [0x4a8ae4]
xor eax, 0xa0c4ca85
mov dword [0x4a8ae4], eax
mov eax, dword [esp + 0x100]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 2
call fcn.0044b770
mov eax, dword [0x4a3140]
mov ecx, eax
dec ecx
mov dword [0x4a3140], ecx
and eax, 0xd148fc84
cmp eax, 0x8a404300
jg 0x403a18
mov ax, word [0x4b3d16]
mov cx, ax
xor ecx, 0x4fb5
mov ax, cx
mov word [0x4b3d16], ax
mov eax, dword [esp + 0xfc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0044b770
mov eax, dword [0x49f960]
or eax, 0x3fd7fe5f
mov dword [0x49f960], eax
mov eax, dword [esp + 0xf8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0044b770
mov eax, dword [0x49f52c]
mov dx, word [0x4ab6f8]
mov cx, dx
and eax, ecx
and eax, 0xfb5f
mov dx, ax
mov word [0x4ab6f8], dx
lea ecx, [esp + 0xa4]
call fcn.004396e0
mov ecx, dword [esp + 0xe4]
lea eax, [eax + ecx + 0xd]
mov dword [esp + 0xf0], eax
mov eax, dword [0x498a88]
mov ecx, eax
inc ecx
mov dword [0x498a88], ecx
imul eax, eax, 0x43a92d74
mov ecx, dword [0x4aa0dc]
lea eax, [eax + ecx + 0x431fd113]
mov dword [0x4aa0dc], eax
mov eax, dword [esp + 0xf0]
add eax, 4
mov ecx, esp
mov dword [ecx], eax
call fcn.00451fe9
mov dword [esp + 0xf4], eax
mov dx, word [0x4b0cca]
mov ax, dx
add eax, 0xbd9a2894
mov dx, ax
mov word [0x4b0cca], dx
cmp dword [esp + 0xf4], 0
jne 0x403b21
mov eax, dword [0x4a3f64]
xor eax, 0xcfed87f1
mov dword [0x4a3f64], eax
mov dword [esp + 0x110], 0
mov dword [esp + 0x78], 1
jmp 0x404188
mov ax, word [0x4aea26]
movsx ecx, ax
xor ecx, 0x8cd7fdde
mov dword [0x49c4b4], ecx
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov dword [edx], ecx
mov ax, word [0x4ace80]
mov cx, ax
add ecx, 0x14918ca8
mov ax, cx
mov word [0x4ace80], ax
mov ecx, dword [esp + 0xf4]
mov dword [ecx + 4], 0
mov ax, word [0x4ab1e2]
mov cx, ax
dec ecx
mov si, cx
mov word [0x4ab1e2], si
movsx ecx, ax
add ecx, 0x7f07c565
cmp ecx, 0xb0d18a5e
je 0x403bc9
mov eax, 0x7c3ca85a
mov cx, word [0x4aed1c]
movsx edx, cx
sar edx, 0xa
sub edx, 0xdb1ce65b
cmp eax, edx
jge 0x403bc4
mov eax, dword [0x49a634]
add eax, 0x929b2d9f
mov dword [0x49a634], eax
jmp 0x403be7
mov eax, dword [0x4a621c]
inc eax
mov dword [0x4a621c], eax
or eax, 0x208864c
mov ecx, dword [0x4a7198]
sub ecx, eax
mov dword [0x4a7198], ecx
lea eax, [esp + 0xa4]
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.004396e0
mov ecx, dword [esp + 0xf4]
mov dword [ecx + 8], eax
mov eax, dword [0x49c654]
not eax
mov ecx, dword [0x498a08]
or eax, ecx
or eax, 0xd59fdd1
mov dword [0x498a08], eax
mov eax, dword [esp + 0xf4]
mov byte [eax + 0xc], 2
mov dx, word [0x4b1100]
mov ax, dx
or eax, 0xdc1e
mov dx, ax
mov word [0x4b1100], dx
mov eax, dword [esp + 0xf4]
add eax, 0xd
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
call fcn.00439510
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
call fcn.004396e0
mov ecx, esp
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov esi, dword [esp + 0x20]
mov dword [ecx], esi
call fcn.004512e0
mov eax, dword [0x4a14e4]
xor eax, 0x80000088
mov dword [0x4a14e4], eax
cmp dword [esp + 0xe4], 0
je 0x403d6d
mov eax, 0xa5cc053f
mov cx, word [0x4b1b4a]
mov dx, cx
inc edx
mov si, dx
mov word [0x4b1b4a], si
movsx edx, cx
mov edi, dword [0x49b730]
inc edi
mov dword [0x49b730], edi
add edi, 0xca34e849
and edx, edi
cmp eax, edx
je 0x403cfa
mov eax, dword [0x4a315c]
shl eax, 7
xor eax, 0x5f8d
mov cx, word [0x4b2af0]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4b2af0], cx
jmp 0x403d0f
mov ax, word [0x4b09bc]
mov cx, ax
and ecx, 2
mov ax, cx
mov word [0x4b09bc], ax
lea ecx, [esp + 0xa4]
call fcn.004396e0
mov ecx, dword [esp + 0xf4]
lea eax, [eax + ecx + 0xd]
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x18], eax
call fcn.00439510
add eax, 0xb
mov ecx, dword [esp + 0xe4]
mov edx, esp
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [edx], eax
call fcn.004512e0
mov eax, dword [0x49c5f4]
sar eax, 7
mov ecx, dword [0x4a63a0]
or eax, ecx
or eax, 0xefda3967
mov dword [0x4a63a0], eax
mov eax, 0x9b77b9a1
mov ecx, dword [0x4a25d8]
xor ecx, 0xb91f7ad
cmp eax, ecx
jne 0x403dbc
mov eax, 0x12fc9c2b
mov ecx, dword [0x4a55c4]
sar ecx, 4
mov dx, word [0x4b0954]
movsx esi, dx
xor ecx, esi
cmp eax, ecx
jle 0x403db7
mov eax, dword [0x498040]
and eax, 0x7ffddfc1
mov dword [0x498040], eax
jmp 0x403dbc
mov dword [esp + 0xe8], 0
mov eax, dword [0x4aa4ec]
and eax, 0xadd4d60e
mov dword [0x4aa4ec], eax
cmp dword [0x4b440c], 0
je 0x404163
mov ax, word [0x4af4b6]
mov cx, ax
xor ecx, 0x787d
mov ax, cx
mov word [0x4af4b6], ax
mov ecx, dword [esp + 0x10c]
call fcn.00414b10
mov ecx, dword [0x4a4830]
mov edx, dword [0x4a572c]
sar edx, 3
xor ecx, edx
mov edx, dword [0x49aa54]
sub edx, ecx
mov dword [0x49aa54], edx
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf4]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
call fcn.00404c80
sub esp, 8
mov bx, word [0x4ae576]
mov cx, bx
or ecx, 0x4469
mov bx, word [0x4b28ec]
mov dx, bx
imul edx, ecx
mov bx, dx
mov word [0x4b28ec], bx
mov ecx, dword [0x49ce88]
and ecx, 0x30d7057d
mov edx, dword [0x4a3dfc]
sub edx, ecx
mov dword [0x4a3dfc], edx
mov ecx, dword [0x4b440c]
mov edx, esp
lea esi, [esp + 0x68]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x14], eax
call fcn.00428370
sub esp, 8
cmp eax, 0
jle 0x40413e
mov eax, dword [0x497928]
add eax, 0x617f8f24
mov dword [0x497928], eax
mov ecx, dword [0x4b440c]
mov eax, dword [esp + 0x10c]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x68]
mov dword [edx], eax
mov dword [edx + 0xc], 0
mov dword [edx + 8], 2
call fcn.00449480
sub esp, 0x10
mov dword [esp + 0xe8], eax
mov si, word [0x4b07a8]
mov ax, si
add eax, 0x131172b5
mov si, ax
mov word [0x4b07a8], si
cmp dword [esp + 0xe8], 0
jg 0x404051
mov eax, dword [0x4a18ac]
mov ecx, eax
inc ecx
mov dword [0x4a18ac], ecx
mov ecx, dword [0x49b048]
lea eax, [eax + ecx + 0x42be4503]
mov dword [0x49b048], eax
mov ecx, dword [0x4b440c]
mov eax, esp
lea edx, [esp + 0x68]
mov dword [eax], edx
mov dword [eax + 4], 1
call fcn.00428370
sub esp, 8
cmp eax, 0
jle 0x404039
mov eax, dword [0x4a9090]
or eax, 0xf87b7484
mov dword [0x4a9090], eax
mov ecx, dword [esp + 0x10c]
call fcn.00414b10
mov eax, dword [0x4a67fc]
add eax, 0xea7e7ae1
mov dword [0x4a67fc], eax
mov ecx, dword [esp + 0x10c]
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
call fcn.00404c80
sub esp, 8
mov ecx, dword [0x4a78b0]
add ecx, 0xf145b8b2
mov dword [0x4a78b0], ecx
mov ecx, dword [0x4b440c]
mov edx, dword [esp + 0x10c]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x68]
mov dword [esi], edx
mov dword [esi + 0xc], 0
mov dword [esi + 8], 2
mov dword [esp + 0x10], eax
call fcn.00449480
sub esp, 0x10
mov dword [esp + 0xe8], eax
mov eax, dword [0x49cca0]
add eax, 0xb5bc544
or eax, 0xc65c0acb
mov ecx, dword [0x4a84fc]
shl ecx, 3
or ecx, 0x705bf0ed
or ecx, 0x4e17c758
cmp eax, ecx
jg 0x404034
mov word [0x4acb98], 0x47f7
jmp 0x404039
mov ax, word [0x4b26b2]
mov cx, ax
add ecx, 0xff6fffc0
mov ax, cx
mov word [0x4b26b2], ax
mov ax, word [0x4affdc]
mov cx, ax
imul ecx, ecx, 0x65f9023d
mov ax, cx
mov word [0x4affdc], ax
cmp dword [esp + 0xe8], 0
jg 0x40412f
mov eax, 0xbcb0dde8
mov ecx, dword [0x4a484c]
xor ecx, 0xffffffff
cmp eax, ecx
jne 0x4040df
mov eax, 0xddd2c6be
mov cx, word [0x4ad8de]
mov dx, cx
dec edx
mov si, dx
mov word [0x4ad8de], si
movsx edx, cx
mov edi, dword [0x4a222c]
dec edi
mov dword [0x4a222c], edi
imul edx, edi
cmp eax, edx
jle 0x4040da
mov ax, word [0x4ae730]
mov cx, ax
add ecx, 0x2f430a2d
mov ax, cx
mov word [0x4ae730], ax
jmp 0x4040f7
mov eax, dword [0x49bf80]
mov ecx, eax
inc ecx
mov dword [0x49bf80], ecx
xor eax, 0xe7bafb72
mov dword [0x49897c], eax
mov ecx, dword [esp + 0x10c]
call fcn.00414b10
mov ecx, dword [0x4a78a0]
mov eax, dword [0x4a7458]
sub eax, 0x418fe71
cmp ecx, eax
jl 0x40412a
mov eax, dword [0x4a4bb0]
add eax, 0xfaa2e253
mov dword [0x4a4bb0], eax
jmp 0x40412f
mov eax, dword [0x4a8370]
xor eax, 0x923040e
mov dword [0x4a8370], eax
mov eax, dword [0x4a3a98]
mov ecx, eax
dec ecx
mov dword [0x4a3a98], ecx
and eax, 0x30026781
mov ecx, dword [0x4a1eec]
or eax, ecx
or eax, 0xc2f4086c
mov dword [0x4a1eec], eax
mov eax, dword [0x49d87c]
xor eax, 0x58502820
mov dword [0x49d87c], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x110], eax
mov dword [esp + 0x78], 1
lea ecx, [esp + 0xa4]
call fcn.00449bc0
mov eax, dword [esp + 0x110]
add esp, 0x114
pop esi
pop edi
pop ebx
ret