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

Disassembly:
push edi
push esi
sub esp, 0x570
mov eax, 0xaadded4a
mov cx, word [0x484200]
mov dx, cx
dec edx
mov si, dx
mov word [0x484200], si
movsx edx, cx
mov edi, dword [0x48f21c]
sub edi, edx
mov dword [0x48f21c], edi
lea ecx, [esp + 0x530]
mov dword [esp + 0x118], eax
call fcn.0043d830
mov si, word [0x488be0]
movsx ecx, si
mov edx, dword [esp + 0x118]
cmp edx, ecx
mov dword [esp + 0x114], eax
je 0x427b28
mov eax, dword [0x48e7e4]
sar eax, 8
add eax, 0x7550bae9
mov dword [0x495964], eax
mov eax, dword [0x499434]
not eax
mov ecx, dword [0x4989d4]
shl ecx, 1
and eax, ecx
cmp eax, 0x76727933
jg 0x427b70
mov eax, dword [0x49042c]
mov ecx, eax
inc ecx
mov dword [0x49042c], ecx
mov ecx, 0xa4a175b8
sub ecx, eax
mov dx, word [0x4835d8]
mov ax, dx
xor eax, ecx
mov dx, ax
mov word [0x4835d8], dx
mov eax, 0xba193586
mov cx, word [0x483b9c]
movsx edx, cx
xor edx, 0x94a82de6
cmp eax, edx
jle 0x427bae
mov eax, dword [0x4935d8]
mov ecx, eax
inc ecx
mov dword [0x4935d8], ecx
add eax, 0x7dd6bb82
mov ecx, dword [0x48a46c]
and ecx, eax
mov dword [0x48a46c], ecx
mov eax, 0xb34e4921
mov word [0x483e2c], 0x31b6
mov dword [esp + 0x11c], 0
mov ecx, dword [0x48aef4]
add ecx, 0x881b0
mov dword [0x48aef4], ecx
mov dword [0x499850], 0x94
mov ecx, dword [0x492f10]
dec ecx
mov dword [0x492f10], ecx
mov edx, dword [0x49694c]
dec edx
mov dword [0x49694c], edx
and edx, 0xb3271d21
xor ecx, edx
cmp eax, ecx
jge 0x427c1c
mov eax, dword [0x48941c]
xor eax, 0x348b8795
mov dword [0x48941c], eax
mov eax, dword [0x480640]
mov ecx, esp
mov dword [ecx], 0x499850
call eax
sub esp, 4
mov dword [0x494508], 0xba695ccb
mov dword [esp + 0x110], eax
call fcn.0040b560
mov dword [0x49a064], eax
mov eax, dword [0x48cbb8]
and eax, 0xcb1bf9a7
mov dword [0x48cbb8], eax
call fcn.00411a10
mov dword [0x49a068], eax
mov dx, word [0x4877ee]
movsx eax, dx
xor eax, 0x8c14d2cc
mov ecx, dword [0x49098c]
sub ecx, eax
mov dword [0x49098c], ecx
mov eax, dword [0x49a064]
cmp eax, 0
je 0x427f3a
mov eax, 0x9e7022f1
mov ecx, dword [0x494540]
mov edx, ecx
dec edx
mov dword [0x494540], edx
or ecx, 0xa1b0
mov si, word [0x483c1a]
mov dx, si
sub edx, ecx
mov si, dx
mov word [0x483c1a], si
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
mov dword [esp + 0x10c], eax
call fcn.0040d920
mov dword [esp + 0x128], eax
mov eax, dword [0x4917fc]
mov ecx, eax
dec ecx
mov dword [0x4917fc], ecx
mov ecx, 0xd06eaf60
sub ecx, eax
mov eax, dword [0x494f48]
xor eax, ecx
mov dword [0x494f48], eax
mov eax, dword [esp + 0x128]
mov byte [esp + eax + 0x12f], 0x5c
mov eax, dword [0x48ef70]
sar eax, 1
mov ecx, dword [0x48bb70]
xor eax, ecx
xor eax, 0x8920b0eb
mov ecx, dword [esp + 0x10c]
cmp ecx, eax
je 0x427d3d
mov eax, dword [0x496af8]
add eax, 0x4863500e
mov dword [0x4903ac], eax
mov eax, 0xf7a7e7fa
mov ecx, dword [esp + 0x128]
inc ecx
mov dword [esp + 0x128], ecx
mov dx, word [0x4853c0]
mov cx, dx
add ecx, 0x7843d345
mov dx, cx
mov word [0x4853c0], dx
mov ecx, dword [esp + 0x128]
mov byte [esp + ecx + 0x12f], 0
mov dx, word [0x486960]
movsx ecx, dx
or ecx, 0xac35e25f
mov esi, dword [0x48aff8]
imul esi, ecx
mov dword [0x48aff8], esi
mov ecx, dword [0x49a0a8]
mov esi, esp
mov dword [esi + 4], ecx
lea ecx, [esp + 0x12f]
mov dword [esi], ecx
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], ecx
call fcn.004553c0
mov ecx, dword [0x48bf58]
mov esi, 0xfcf43ce
sub esi, ecx
mov ecx, dword [0x48edb4]
or ecx, esi
mov dword [0x48edb4], ecx
mov ecx, dword [0x480688]
mov esi, esp
mov edi, dword [esp + 0x104]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0x100], eax
call ecx
sub esp, 8
mov dx, word [0x483dbe]
mov cx, dx
add ecx, 0x80646200
mov dx, cx
mov word [0x483dbe], dx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2fc8
mov dword [esp + 0xfc], eax
call fcn.00426180
mov dword [esp + 0x56c], eax
mov eax, dword [0x489b94]
mov ecx, eax
dec ecx
mov dword [0x489b94], ecx
imul eax, eax, 0xa2317d8e
mov dx, word [0x4851a0]
movsx ecx, dx
shl ecx, 4
add eax, ecx
mov dword [0x49934c], eax
mov eax, dword [esp + 0x56c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x104]
mov dword [ecx], eax
call fcn.004553c0
mov dx, word [0x48219c]
mov cx, dx
and ecx, 0x65bd
mov dx, cx
mov word [0x48219c], dx
mov ecx, dword [esp + 0x56c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0xf8], eax
call fcn.00414150
mov eax, dword [0x494b48]
mov ecx, eax
inc ecx
mov dword [0x494b48], ecx
mov ecx, dword [esp + 0x108]
cmp ecx, eax
jg 0x427f35
mov eax, 0x7a2ce348
mov ecx, dword [0x496830]
mov edx, ecx
dec edx
mov dword [0x496830], edx
add ecx, 0x8cff4714
mov si, word [0x4822f0]
movsx edx, si
sub ecx, edx
cmp eax, ecx
jg 0x427f20
mov eax, dword [0x496988]
shl eax, 8
mov ecx, 0x241635bf
sub ecx, eax
mov eax, dword [0x498764]
or eax, ecx
mov dword [0x498764], eax
jmp 0x427f30
mov eax, dword [0x48fa1c]
imul eax, eax, 0x2d817cfd
mov dword [0x48fa1c], eax
jmp 0x427f35
jmp 0x427fc5
mov eax, 0x2941f746
mov ecx, dword [0x48c480]
inc ecx
mov dword [0x48c480], ecx
or ecx, 0x5ad72d5e
cmp eax, ecx
jge 0x427f78
mov eax, dword [0x48ee08]
dec eax
mov dword [0x48ee08], eax
mov ecx, dword [0x497740]
xor ecx, eax
mov dword [0x497740], ecx
jmp 0x427fa4
mov eax, dword [0x48d5c8]
mov ecx, eax
dec ecx
mov dword [0x48d5c8], ecx
mov ecx, dword [0x48d7c8]
shl ecx, 8
add eax, ecx
and eax, 0xb504b1d0
mov ecx, dword [0x495fd4]
sub ecx, eax
mov dword [0x495fd4], ecx
mov byte [esp + 0x12f], 0
mov eax, dword [0x493698]
sar eax, 1
mov ecx, dword [0x493650]
xor eax, ecx
xor eax, 0x70e9789e
mov dword [0x493650], eax
lea eax, [esp + 0x530]
lea ecx, [esp + 0x12f]
mov dword [0x499360], 0x20026e0
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x49
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], ecx
call fcn.00426180
mov dword [esp + 0x568], eax
mov si, word [0x481324]
mov ax, si
add eax, 0x42760a5b
mov si, ax
mov word [0x481324], si
mov eax, dword [esp + 0x568]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x530]
call fcn.00438f30
sub esp, 4
mov ecx, dword [0x4949c4]
imul ecx, ecx, 0x18d1e2b3
mov si, word [0x4827d6]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x4827d6], si
mov ecx, dword [esp + 0x568]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xec], eax
call fcn.00414150
mov eax, dword [0x492428]
imul eax, eax, 0x5e694498
mov dword [0x492428], eax
mov eax, dword [esp + 0xf4]
mov ecx, eax
call fcn.0043c760
lea ecx, [esp + 0x530]
mov dword [esp + 0xe8], eax
call fcn.0044fbf0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0xe4], ecx
call fcn.004479b0
cmp eax, 0
je 0x4281e0
mov eax, 0xe363a86a
mov ecx, dword [0x4950f0]
mov edx, ecx
inc edx
mov dword [0x4950f0], edx
mov edx, dword [0x48f1ac]
and ecx, edx
and ecx, 0xf05210c
mov dword [0x48f1ac], ecx
mov dword [esp + 0x11c], 1
mov ecx, dword [0x498e98]
and ecx, 0x18c66b8
mov dword [0x498e98], ecx
mov ecx, dword [0x480614]
mov edx, esp
lea esi, [esp + 0x12f]
mov dword [edx], esi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], esi
call ecx
sub esp, 4
mov di, word [0x486f18]
movsx ecx, di
shr ecx, 6
mov di, word [0x4877be]
mov dx, di
imul edx, ecx
mov di, dx
mov word [0x4877be], di
mov ecx, dword [esp + 0x128]
mov byte [esp + ecx + 0x12f], 0
mov ecx, dword [0x4968a8]
or ecx, 0x1fb67bbd
mov dword [0x4968a8], ecx
mov ecx, dword [0x48068c]
mov edx, esp
mov esi, dword [esp + 0xdc]
mov dword [edx], esi
mov dword [esp + 0xd8], eax
call ecx
sub esp, 4
mov ecx, dword [0x492498]
mov edx, dword [esp + 0xe0]
cmp edx, ecx
mov dword [esp + 0xd4], eax
jge 0x4281db
mov eax, dword [0x4925d4]
xor eax, 0xd04edd19
mov dword [0x4925d4], eax
jmp 0x4281e0
mov eax, 0x9e6aa0dc
mov cx, word [0x4836f6]
mov dx, cx
imul edx, edx, 0xbf08d52d
mov cx, dx
mov word [0x4836f6], cx
mov edx, esp
lea esi, [esp + 0x12f]
mov dword [edx], esi
mov dword [esp + 0xd0], eax
call fcn.0040d920
mov edx, dword [0x48e738]
mov esi, dword [0x489ec4]
and edx, esi
mov esi, dword [esp + 0xd0]
cmp esi, edx
mov dword [esp + 0xcc], eax
je 0x428252
mov ax, word [0x488324]
mov cx, ax
add ecx, 0xccc93917
mov ax, cx
mov word [0x488324], ax
mov eax, 0xf5f7e27f
mov byte [esp + 0x132], 0
mov cx, word [0x481b0a]
movsx edx, cx
xor edx, 0xffffffff
sub edx, 0x92afb03b
cmp eax, edx
jne 0x42829b
mov eax, dword [0x49883c]
mov ecx, eax
inc ecx
mov dword [0x49883c], ecx
mov ecx, dword [0x48b8ec]
and ecx, eax
mov dword [0x48b8ec], ecx
jmp 0x4282b0
mov eax, dword [0x48ba18]
not eax
mov ecx, dword [0x4967a8]
or ecx, eax
mov dword [0x4967a8], ecx
mov eax, dword [0x49a0a8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
mov dword [esp + 0xc8], eax
call fcn.004553c0
mov ecx, dword [0x490fb4]
imul ecx, ecx, 0xe667bff3
mov dword [0x490fb4], ecx
mov ecx, dword [0x480688]
mov edx, esp
mov esi, dword [esp + 0xc8]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0xc4], eax
call ecx
sub esp, 8
mov ecx, dword [0x497d6c]
mov edx, ecx
dec edx
mov dword [0x497d6c], edx
imul ecx, ecx, 0xd8c798b9
mov edx, dword [0x492aa8]
sub edx, ecx
mov dword [0x492aa8], edx
mov ecx, esp
mov edx, dword [esp + 0xc8]
mov dword [ecx + 4], edx
mov dword [ecx], 0x499a0c
mov dword [esp + 0xc0], eax
call fcn.004553b0
mov ecx, dword [0x4943c0]
mov edx, ecx
inc edx
mov dword [0x4943c0], edx
mov edx, dword [0x490ee8]
and edx, ecx
mov dword [0x490ee8], edx
cmp dword [esp + 0x11c], 0
mov dword [esp + 0xbc], eax
jne 0x4283cb
mov eax, dword [0x4917f4]
shl eax, 2
mov ecx, 0x9ad5b738
sub ecx, eax
mov eax, dword [0x489134]
mov edx, eax
inc edx
mov dword [0x489134], edx
and ecx, eax
cmp ecx, 0x3388be2e
jne 0x4283b2
mov eax, dword [0x48e914]
xor eax, 0xbedeaee9
mov dword [0x48e914], eax
mov dword [0x49a060], 0
mov eax, dword [0x495008]
add eax, 0x53e6141
mov dword [0x495008], eax
mov eax, 0x3e84ab4d
mov cx, word [0x48661a]
mov dx, cx
add edx, edx
or edx, 0x9f76
mov cx, word [0x480c14]
mov si, cx
and esi, edx
mov cx, si
mov word [0x480c14], cx
mov edx, esp
lea esi, [esp + 0x12f]
mov dword [edx], esi
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], esi
call fcn.00422290
mov dword [esp + 0x128], eax
mov eax, dword [0x48da88]
xor eax, 0x1d76437e
mov dword [0x48da88], eax
mov eax, dword [0x480688]
mov edx, esp
mov esi, dword [esp + 0xb4]
mov dword [edx], esi
mov dword [edx + 4], 0
call eax
sub esp, 8
mov edx, dword [0x48af34]
imul edx, edx, 0xc452c810
mov dword [0x48af34], edx
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x2fc8
mov dword [esp + 0xb0], eax
call fcn.00426180
mov dword [esp + 0x564], eax
mov eax, dword [0x495428]
xor eax, 0xffffffff
imul eax, eax, 0xbde837e0
mov edx, dword [esp + 0xb8]
cmp edx, eax
jle 0x4284f3
mov eax, 0x8858b181
mov ecx, dword [0x497708]
xor ecx, 0xffffffff
cmp eax, ecx
jge 0x4284ee
mov eax, dword [0x494f60]
mov ecx, 0x1c457f9f
sub ecx, eax
mov eax, dword [0x48a1fc]
shl eax, 5
sub ecx, eax
mov dx, word [0x4857fc]
movsx eax, dx
xor eax, 0xffffffff
add eax, 0xe7f1a0e9
or eax, 0x1ef79f8c
cmp ecx, eax
jl 0x4284e9
jmp 0x4284e9
jmp 0x4284ee
jmp 0x4284f3
mov eax, dword [esp + 0x564]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
call fcn.004553c0
mov dx, word [0x488882]
mov cx, dx
imul ecx, ecx, 0xf882570d
mov dx, cx
mov word [0x488882], dx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x49
mov dword [esp + 0xac], eax
call fcn.00426180
mov dword [esp + 0x560], eax
mov word [0x48150e], 0xd4e
mov eax, dword [esp + 0x564]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00414150
mov eax, dword [0x489b0c]
not eax
imul eax, eax, 0x34ff3844
mov ecx, 0xa5f893e5
sub ecx, eax
mov eax, dword [0x493258]
dec eax
mov dword [0x493258], eax
imul eax, eax, 0x2d837b2e
cmp ecx, eax
jle 0x4285a5
mov dword [0x497c00], 0x6ba46b41
jmp 0x4285bd
mov ax, word [0x48114e]
mov cx, ax
or ecx, 0x42cd
mov ax, cx
mov word [0x48114e], ax
lea eax, [esp + 0x530]
lea ecx, [esp + 0x12f]
mov edx, dword [esp + 0x560]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x530]
mov dword [esp + 0xa8], ecx
mov ecx, edx
mov dword [esp + 0xa4], eax
call fcn.00438f30
sub esp, 4
mov di, word [0x4823e4]
mov cx, di
xor ecx, 0x9064
mov di, cx
mov word [0x4823e4], di
mov ecx, dword [esp + 0x560]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xa0], eax
call fcn.00414150
mov eax, dword [0x48fc18]
and eax, 0x41850357
mov dword [0x48fc18], eax
mov eax, dword [esp + 0xa4]
mov ecx, eax
call fcn.0043c760
lea ecx, [esp + 0x530]
mov dword [esp + 0x9c], eax
call fcn.0044fbf0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x98], ecx
call fcn.004479b0
cmp eax, 0
jne 0x42922f
mov ax, word [0x482cbc]
mov cx, ax
add ecx, 0x636a63ef
mov ax, cx
mov word [0x482cbc], ax
cmp dword [0x499854], 6
jb 0x4287d0
mov eax, dword [0x4954d0]
add eax, 0x35860172
mov dword [0x4954d0], eax
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x2e3c
call fcn.00426180
mov dword [esp + 0x55c], eax
mov cx, word [0x488c90]
movsx eax, cx
not eax
mov edx, dword [0x494cac]
shl edx, 4
add eax, edx
mov edx, dword [0x497664]
mov esi, edx
inc esi
mov dword [0x497664], esi
add eax, edx
mov edx, dword [0x4958a0]
and edx, eax
mov dword [0x4958a0], edx
mov eax, dword [esp + 0x55c]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x12f]
mov dword [edx], eax
mov dword [edx + 8], 0x4998e4
call fcn.00455a79
mov edx, dword [0x494c18]
shl edx, 6
and edx, 0x2651dc2f
cmp edx, 0x8566f79b
mov dword [esp + 0x94], eax
je 0x428774
mov eax, dword [0x48cacc]
and eax, 0x57f81e4f
mov dword [0x48cacc], eax
jmp 0x428783
mov eax, dword [0x48f630]
xor eax, 0xfc8afe1a
mov dword [0x48f630], eax
mov eax, dword [esp + 0x55c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x12
call fcn.00414150
mov dx, word [0x485c9e]
mov ax, dx
dec eax
mov dx, ax
mov word [0x485c9e], dx
movsx eax, dx
imul eax, eax, 0x9485ee50
xor eax, 0x3359f17d
mov ecx, dword [0x4897f8]
add ecx, eax
mov dword [0x4897f8], ecx
jmp 0x428874
mov ax, word [0x480f1a]
mov cx, ax
and ecx, 0xae77
mov ax, cx
mov word [0x480f1a], ax
mov ecx, esp
mov dword [ecx + 4], 0x24
mov dword [ecx], 0xa8c
call fcn.00426180
mov dword [esp + 0x558], eax
mov eax, dword [0x4957fc]
imul eax, eax, 0x7e2fbcbb
mov dword [0x4957fc], eax
mov eax, dword [esp + 0x558]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4998e4
call fcn.00455a79
mov ecx, dword [0x48b488]
xor ecx, 0xc4e68d07
mov dword [0x48b488], ecx
mov ecx, dword [esp + 0x558]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x24
mov dword [esp + 0x90], eax
call fcn.00414150
mov eax, dword [0x491b14]
dec eax
mov dword [0x491b14], eax
mov dword [0x498d74], eax
mov dword [0x494e78], 0x6a51db3b
mov byte [esp + 0x52f], 0
mov eax, dword [0x48e794]
add eax, 0x72753d1d
mov dword [0x48e794], eax
mov eax, dword [0x49a0a8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
call fcn.004553c0
mov ecx, dword [0x48e770]
not ecx
and ecx, 0xfbf8fff9
mov edx, dword [0x49954c]
or edx, 0x467939ae
cmp ecx, edx
mov dword [esp + 0x8c], eax
jg 0x4288e9
mov eax, dword [0x4974dc]
mov ecx, dword [0x49814c]
xor ecx, eax
mov dword [0x49814c], ecx
mov eax, 0x3f7f0c55
mov ecx, dword [0x480688]
mov edx, esp
lea esi, [esp + 0x12f]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], esi
call ecx
sub esp, 8
mov ecx, dword [0x497da0]
add ecx, 0xfd5a39c0
mov edx, dword [0x48dc88]
xor edx, ecx
mov dword [0x48dc88], edx
mov ecx, esp
mov edx, dword [esp + 0x84]
mov dword [ecx + 4], edx
mov dword [ecx], 0x499a0c
mov dword [esp + 0x80], eax
call fcn.004553b0
mov di, word [0x480cf2]
movsx ecx, di
or ecx, 0x36b3a4bb
mov dword [0x48d910], ecx
mov ecx, esp
mov edx, dword [esp + 0x84]
mov dword [ecx], edx
mov dword [esp + 0x7c], eax
call fcn.00422290
mov dword [esp + 0x128], eax
mov eax, dword [0x48d6a4]
mov ecx, dword [0x493870]
sar ecx, 2
add ecx, 0xd9726984
xor eax, ecx
mov ecx, dword [esp + 0x88]
cmp ecx, eax
jge 0x4289b6
mov eax, dword [0x492974]
add eax, 0xd9666b1c
mov dword [0x492974], eax
mov eax, dword [0x480688]
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x48f908]
cmp ecx, 0xa1084060
mov dword [esp + 0x78], eax
jne 0x428a05
mov ax, word [0x480f44]
mov cx, ax
add ecx, 0xfddfb75f
mov ax, cx
mov word [0x480f44], ax
jmp 0x428a14
mov eax, dword [0x48ea60]
or eax, 0xfdef7bf7
mov dword [0x48ea60], eax
lea eax, [esp + 0x530]
lea ecx, [esp + 0x12f]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x2fc8
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ecx
call fcn.00426180
mov dword [esp + 0x554], eax
mov dword [0x48ba34], 0x4ea046a2
mov eax, dword [esp + 0x554]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12f]
mov dword [ecx], eax
call fcn.004553c0
mov si, word [0x485752]
mov cx, si
and ecx, 0xca64
mov si, cx
mov word [0x485752], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x49
mov dword [esp + 0x6c], eax
call fcn.00426180
mov dword [esp + 0x550], eax
mov eax, dword [0x48d28c]
or eax, 0x368866cc
mov dword [0x48d28c], eax
mov eax, dword [esp + 0x554]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00414150
mov si, word [0x4866fc]
mov ax, si
mov ecx, 0xbbe65821
sub ecx, eax
mov si, word [0x484ade]
mov ax, si
add eax, ecx
mov si, ax
mov word [0x484ade], si
mov eax, dword [esp + 0x550]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x530]
call fcn.00438f30
sub esp, 4
mov ecx, dword [0x490dc4]
imul ecx, ecx, 0xd00903cf
mov dword [0x490dc4], ecx
mov ecx, dword [esp + 0x550]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x68], eax
call fcn.00414150
mov eax, dword [0x4920e4]
imul eax, eax, 0xd1a0621e
mov si, word [0x4872a6]
mov cx, si
and ecx, eax
mov si, cx
mov word [0x4872a6], si
mov eax, dword [esp + 0x74]
mov ecx, eax
call fcn.0043c760
lea ecx, [esp + 0x530]
mov dword [esp + 0x64], eax
call fcn.0044fbf0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x60], ecx
call fcn.004479b0
cmp eax, 0
jne 0x429203
mov eax, dword [0x494340]
shl eax, 7
add eax, 0xa8d58a50
mov cx, word [0x483e0e]
movsx edx, cx
shl edx, 2
and eax, edx
mov dword [0x493978], eax
mov eax, dword [0x480630]
mov edx, esp
lea esi, [esp + 0x12f]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x5c], esi
call eax
sub esp, 8
mov edx, dword [0x490a78]
xor edx, 0x1fb2
mov cx, word [0x48397e]
mov si, cx
add esi, edx
mov cx, si
mov word [0x48397e], cx
mov edx, esp
mov esi, dword [esp + 0x5c]
mov dword [edx], esi
mov dword [esp + 0x58], eax
call fcn.004522f0
mov dword [esp + 0x128], eax
mov eax, dword [0x48ba30]
not eax
mov edx, dword [0x48eed0]
add eax, edx
mov edx, dword [0x491318]
lea eax, [edx + eax - 0x593ca2a6]
mov dword [0x491318], eax
mov eax, dword [esp + 0x128]
add eax, 0xfffffffe
mov dword [esp + 0x128], eax
mov eax, dword [0x493d04]
and eax, 0x34448108
mov dword [0x493d04], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x124], eax
cmp dword [esp + 0x124], 0
jle 0x428dfe
mov eax, dword [0x48e014]
add eax, 0x9b1f0bac
mov dword [0x48e014], eax
mov eax, dword [esp + 0x124]
movsx eax, byte [esp + eax + 0x12f]
cmp eax, 0x5c
jne 0x428d46
mov eax, dword [0x4997f0]
mov ecx, 0xfe130282
sub ecx, eax
mov eax, dword [0x48f960]
or ecx, eax
mov eax, dword [0x48c0a0]
add eax, ecx
mov dword [0x48c0a0], eax
mov eax, dword [esp + 0x124]
inc eax
mov dword [esp + 0x124], eax
mov eax, dword [0x49562c]
xor eax, 0x7d4136da
mov dword [0x49562c], eax
mov eax, dword [esp + 0x124]
mov byte [esp + eax + 0x12f], 0
mov eax, dword [0x490f98]
and eax, 0x923ca5d0
mov dword [0x490f98], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x128], eax
mov eax, dword [0x48a2ac]
sar eax, 3
cmp eax, 0x204208a0
jge 0x428d41
mov eax, dword [0x4997c8]
mov ecx, eax
inc ecx
mov dword [0x4997c8], ecx
imul eax, eax, 0x265d4454
mov ecx, dword [0x4985c8]
xor ecx, eax
mov dword [0x4985c8], ecx
jmp 0x428dfe
mov eax, dword [0x48998c]
add eax, 0x8b1f2f87
xor eax, 0x792f04cb
mov ecx, dword [0x491f4c]
mov edx, ecx
dec edx
mov dword [0x491f4c], edx
mov edx, dword [0x495a28]
dec edx
mov dword [0x495a28], edx
imul edx, edx, 0x18fc06c4
and ecx, edx
cmp eax, ecx
jle 0x428d90
mov dword [0x489034], 0xc598e988
jmp 0x428de3
mov eax, 0xafab6adc
mov ecx, dword [0x4973e4]
sar ecx, 9
add ecx, 0xc894bc10
sub ecx, 0xe717de45
cmp eax, ecx
jne 0x428dcf
mov eax, 0xa6f084f2
mov ecx, dword [0x498b70]
cmp eax, ecx
jge 0x428dca
jmp 0x428dca
jmp 0x428dde
mov eax, dword [0x496e08]
xor eax, 0x834e8eb
mov dword [0x496e08], eax
jmp 0x428de3
jmp 0x428de8
mov eax, dword [esp + 0x124]
add eax, 0xffffffff
mov dword [esp + 0x124], eax
jmp 0x428c6e
mov eax, 0xe53e1d2b
mov cx, word [0x4823f4]
movsx edx, cx
and edx, 0xcc598cca
cmp eax, edx
jg 0x428ea6
mov ax, word [0x482160]
movsx ecx, ax
imul ecx, ecx, 0x5ddded80
mov edx, dword [0x489d30]
sar edx, 8
imul edx, edx, 0x60ebd3c0
xor edx, 0xb625b17a
cmp ecx, edx
jg 0x428e64
mov ax, word [0x48616c]
mov cx, ax
or ecx, 0x6b2b
mov ax, cx
mov word [0x48616c], ax
jmp 0x428ea1
mov eax, dword [0x49519c]
mov ecx, eax
dec ecx
mov dword [0x49519c], ecx
mov dx, word [0x4857aa]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x4857aa], dx
movsx ecx, dx
neg ecx
lea eax, [eax + ecx - 0x52649d87]
mov ecx, dword [0x497210]
and ecx, eax
mov dword [0x497210], ecx
jmp 0x428ea6
mov eax, esp
lea ecx, [esp + 0x12f]
mov dword [eax + 4], ecx
mov dword [eax], 0x499a0c
mov dword [esp + 0x54], ecx
call fcn.004553b0
mov dword [0x48b740], 0x2b84dec3
mov ecx, esp
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
mov dword [esp + 0x50], eax
call fcn.00422290
mov dword [esp + 0x128], eax
mov si, word [0x484d64]
mov ax, si
imul eax, eax, 0x6cfdd784
mov si, ax
mov word [0x484d64], si
mov eax, dword [0x480688]
mov ecx, esp
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x48b048]
add ecx, 0x8d901b47
mov dword [0x48b048], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2fc8
mov dword [esp + 0x4c], eax
call fcn.00426180
mov dword [esp + 0x54c], eax
mov eax, dword [0x48bb24]
imul eax, eax, 0xea3361a4
mov si, word [0x48677a]
mov cx, si
or eax, ecx
or eax, 0x8b84
mov si, ax
mov word [0x48677a], si
mov eax, dword [esp + 0x54c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x54]
mov dword [ecx], eax
call fcn.004553c0
mov si, word [0x488616]
mov cx, si
add ecx, 0xbd37502f
mov si, cx
mov word [0x488616], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x49
mov dword [esp + 0x48], eax
call fcn.00426180
mov dword [esp + 0x548], eax
mov eax, dword [0x4899ac]
dec eax
mov dword [0x4899ac], eax
and eax, 0xbacdc074
xor eax, 0x503442f8
cmp eax, 0xe0058004
jge 0x428fec
mov eax, dword [0x495de8]
xor eax, 0x5afd437b
mov dword [0x495de8], eax
lea eax, [esp + 0x530]
lea ecx, [esp + 0x12f]
mov edx, dword [esp + 0x54c]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
call fcn.00414150
mov eax, dword [0x48f1ac]
or eax, 0xff3bbdb4
mov dword [0x48f1ac], eax
mov eax, dword [esp + 0x548]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x530]
call fcn.00438f30
sub esp, 4
mov ecx, dword [0x494284]
mov edx, dword [0x49053c]
xor edx, ecx
mov dword [0x49053c], edx
mov ecx, dword [esp + 0x548]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x3c], eax
call fcn.00414150
mov word [0x481028], 0x4437
mov eax, dword [esp + 0x44]
mov ecx, eax
call fcn.0043c760
lea ecx, [esp + 0x530]
mov dword [esp + 0x38], eax
call fcn.0044fbf0
mov ecx, 0xb650560
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xb650560
mov dword [esp + 0x34], ecx
call fcn.004479b0
cmp eax, 0
jne 0x4291ed
mov eax, 0x11a10ac
mov ecx, dword [0x4904bc]
or ecx, 0x47062979
mov dword [0x4904bc], ecx
mov ecx, dword [0x480630]
mov edx, esp
lea esi, [esp + 0x12f]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], esi
call ecx
sub esp, 8
mov ecx, dword [0x4975c4]
and ecx, 0x61f5cdc7
mov dword [0x4975c4], ecx
mov ecx, esp
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
mov dword [ecx], 0x499a0c
mov dword [esp + 0x28], eax
call fcn.004553b0
mov word [0x482926], 0xfc71
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x2fc8
mov dword [esp + 0x24], eax
call fcn.00426180
mov dword [esp + 0x544], eax
mov di, word [0x482886]
mov ax, di
shl eax, 7
add eax, 0xf9f1656
and eax, 0xd19e
mov di, ax
mov word [0x480c94], di
mov eax, dword [esp + 0x544]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
call fcn.004553c0
mov ecx, dword [0x498178]
inc ecx
mov dword [0x498178], ecx
mov edx, dword [esp + 0x30]
cmp edx, ecx
mov dword [esp + 0x20], eax
jge 0x4291c2
mov ax, word [0x48143e]
mov cx, ax
add ecx, 0x6c5588b5
mov ax, cx
mov word [0x48143e], ax
mov eax, dword [esp + 0x544]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00414150
mov dx, word [0x4843f0]
movsx eax, dx
and eax, 0xb24b4868
mov dword [0x49933c], eax
mov eax, dword [0x48d954]
sar eax, 4
mov ecx, dword [0x489dc8]
or ecx, eax
mov dword [0x489dc8], ecx
mov ax, word [0x480c64]
movsx ecx, ax
add ecx, 0x7b69d149
mov edx, dword [0x48c1cc]
inc edx
mov dword [0x48c1cc], edx
or ecx, edx
mov edx, dword [0x48ede8]
and edx, ecx
mov dword [0x48ede8], edx
mov eax, 0x1bca77f0
mov ecx, dword [0x498c94]
and ecx, 0xc4b9dee5
mov dword [0x498c94], ecx
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
mov dword [esp + 0x1c], eax
call fcn.00422290
mov ecx, dword [0x496f24]
dec ecx
mov dword [0x496f24], ecx
mov edx, dword [esp + 0x1c]
cmp edx, ecx
mov dword [esp + 0x18], eax
jne 0x429298
mov eax, dword [0x491f68]
add eax, 0xe1553304
mov ecx, dword [0x498ddc]
or eax, ecx
or eax, 0xaf8cc634
mov dword [0x498ddc], eax
jmp 0x4292bb
mov ax, word [0x482fbe]
movsx ecx, ax
imul ecx, ecx, 0xed948a92
or ecx, 0xa9aade9c
mov edx, dword [0x48de6c]
xor edx, ecx
mov dword [0x48de6c], edx
mov eax, dword [0x48063c]
mov ecx, esp
lea edx, [esp + 0x12f]
mov dword [ecx], edx
mov dword [ecx + 4], 2
mov dword [esp + 0x14], edx
call eax
sub esp, 8
mov ecx, dword [0x491330]
sar ecx, 9
mov edx, dword [0x4943ec]
sub edx, ecx
mov dword [0x4943ec], edx
mov ecx, esp
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], 0x401
mov dword [esp + 0x10], eax
call fcn.00417e00
mov eax, dword [0x48fe40]
imul eax, eax, 0x6ed5613e
mov dword [0x48fe40], eax
lea ecx, [esp + 0x530]
call fcn.0044fbe0
add esp, 0x570
pop esi
pop edi
ret