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

Disassembly:
push edi
push esi
sub esp, 0x5c0
mov eax, 0x4effc3ff
mov ecx, dword [0x49e120]
imul ecx, ecx, 0x779379c1
mov dword [0x49e120], ecx
lea ecx, [esp + 0x580]
mov dword [esp + 0x124], eax
call fcn.004149c0
mov ecx, dword [0x4986fc]
imul ecx, ecx, 0x61708101
mov dword [0x4986fc], ecx
mov dx, word [0x4a6976]
mov cx, dx
or ecx, 0x17f6
mov dx, cx
mov word [0x4a6976], dx
mov ecx, dword [0x49ce48]
shl ecx, 5
add ecx, 0x510d644a
mov dx, word [0x4a6b3a]
movsx esi, dx
xor esi, 0xffffffff
and ecx, esi
mov esi, dword [esp + 0x124]
cmp esi, ecx
mov dword [esp + 0x120], eax
jne 0x42c6e9
mov eax, dword [0x49ee0c]
mov ecx, dword [0x493464]
lea eax, [eax + ecx + 0x3eb83f29]
mov dword [0x493464], eax
mov eax, 0xafeb7eef
mov ecx, dword [0x493704]
add ecx, 0x9a0d69ff
and ecx, 0x64a1c5c4
mov edx, dword [0x49ff50]
or edx, ecx
mov dword [0x49ff50], edx
mov dword [esp + 0x128], 0
mov ecx, dword [0x49eae4]
add ecx, 0xbb9a624f
mov dword [0x49eae4], ecx
mov dword [0x4a8bdc], 0x94
mov si, word [0x4a69b0]
movsx ecx, si
xor ecx, 0xffffffff
cmp eax, ecx
je 0x42c779
mov ax, word [0x4a617a]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a617a], ax
movsx ecx, ax
imul ecx, ecx, 0x414daf2d
mov edx, dword [0x49c2b8]
lea ecx, [ecx + edx + 0x3f3813e]
mov dword [0x49c2b8], ecx
mov eax, dword [0x492d80]
mov ecx, esp
mov dword [ecx], 0x4a8bdc
call eax
sub esp, 4
mov ecx, dword [0x494a20]
cmp ecx, 0xa2d8331f
mov dword [esp + 0x11c], eax
jl 0x42c7ae
mov dword [0x4990bc], 0x7dfbee3a
call fcn.00405cc0
mov dword [0x4a950c], eax
mov cx, word [0x4a8b8a]
mov ax, cx
mov edx, dword [0x497b40]
add eax, edx
mov cx, word [0x4a3618]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4a3618], cx
call fcn.0043ee40
mov dword [0x4a9510], eax
mov eax, dword [0x49cea8]
add eax, 0x5b9589af
mov dword [0x49cea8], eax
mov eax, dword [0x4a950c]
cmp eax, 0
je 0x42ca0f
mov eax, 0x486d87ed
mov ecx, dword [0x49a164]
xor ecx, 0xeef8f77c
mov dword [0x49a164], ecx
mov ecx, esp
lea edx, [esp + 0x138]
mov dword [ecx], edx
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], edx
call fcn.00432c60
mov dword [esp + 0x134], eax
mov eax, dword [0x49e220]
xor eax, 0x2efa290
mov dword [0x49e220], eax
mov eax, dword [esp + 0x134]
mov byte [esp + eax + 0x138], 0x5c
mov eax, dword [0x49a074]
imul eax, eax, 0x41cd7f91
mov ecx, dword [0x494fd0]
add ecx, eax
mov dword [0x494fd0], ecx
mov eax, dword [esp + 0x134]
inc eax
mov dword [esp + 0x134], eax
mov eax, dword [0x493a78]
mov si, word [0x4a4496]
movsx ecx, si
not ecx
lea eax, [eax + ecx + 0x1b0376bc]
mov ecx, dword [0x49c3bc]
or ecx, eax
mov dword [0x49c3bc], ecx
mov eax, dword [esp + 0x134]
mov byte [esp + eax + 0x138], 0
mov eax, dword [0x49f110]
xor eax, 0x5573d686
mov ecx, dword [0x493c90]
sub ecx, eax
mov dword [0x493c90], ecx
mov eax, dword [0x4a9550]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x114]
mov dword [ecx], eax
call fcn.00455240
mov ecx, dword [0x4935b8]
mov edx, ecx
inc edx
mov dword [0x4935b8], edx
mov si, word [0x4a3520]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x4a3520], si
mov ecx, dword [0x492dc8]
mov edx, esp
mov edi, dword [esp + 0x114]
mov dword [edx], edi
mov dword [edx + 4], 0
mov dword [esp + 0x110], eax
call ecx
sub esp, 8
mov ecx, dword [0x494b18]
or ecx, 0x9bbb5df2
mov dword [0x494b18], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0xe76
mov dword [esp + 0x10c], eax
call fcn.00401920
mov dword [esp + 0x5bc], eax
mov eax, dword [0x49ec8c]
imul eax, eax, 0xb600565c
mov dword [0x49ec8c], eax
mov eax, dword [esp + 0x5bc]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x114]
mov dword [ecx], eax
call fcn.00455240
mov ecx, dword [0x49a3f0]
xor ecx, 0xffffffff
imul ecx, ecx, 0xbcc96e70
or ecx, 0x5b4e41b0
mov edx, dword [esp + 0x118]
cmp edx, ecx
mov dword [esp + 0x108], eax
je 0x42c9da
mov eax, dword [0x49ccfc]
xor eax, 0x2292121
mov ecx, dword [0x49bc40]
imul ecx, eax
mov dword [0x49bc40], ecx
mov eax, dword [esp + 0x5bc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00405f10
mov dx, word [0x4a2990]
mov ax, dx
xor eax, 0xeed6
mov dx, ax
mov word [0x4a2990], dx
jmp 0x42ca40
mov eax, dword [0x49c5b4]
imul eax, eax, 0xd91f799f
mov dword [0x49c5b4], eax
mov byte [esp + 0x138], 0
mov cx, word [0x4a20de]
mov ax, cx
add eax, 0xdca43e9c
mov cx, ax
mov word [0x4a20de], cx
mov eax, 0xebdb2127
mov cx, word [0x4a4b60]
movsx edx, cx
or edx, 0xd96ff626
mov esi, dword [0x49501c]
sub esi, edx
mov dword [0x49501c], esi
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x936
mov dword [esp + 0x104], eax
call fcn.00401920
mov dword [esp + 0x5b8], eax
mov eax, dword [0x4a0b14]
mov edx, eax
inc edx
mov dword [0x4a0b14], edx
mov edx, dword [esp + 0x104]
cmp edx, eax
jge 0x42caac
mov dword [0x49bc3c], 0xa9b2e16e
mov eax, 0x2e70a98f
mov ecx, dword [esp + 0x5b8]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x580]
mov dword [esp + 0x100], eax
call fcn.00436ba0
sub esp, 4
mov ecx, dword [0x4992dc]
shl ecx, 9
mov edx, dword [esp + 0x100]
cmp edx, ecx
mov dword [esp + 0xfc], eax
jge 0x42cb00
mov eax, dword [0x495330]
xor eax, 0xae0cd53c
mov dword [0x495330], eax
lea eax, [esp + 0x580]
lea ecx, [esp + 0x138]
mov edx, dword [esp + 0x5b8]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf4], ecx
call fcn.00405f10
mov eax, dword [0x49b22c]
xor eax, 0x24eca962
mov dword [0x49b22c], eax
mov eax, dword [esp + 0xf8]
mov ecx, eax
call fcn.004486c0
lea ecx, [esp + 0x580]
mov dword [esp + 0xf0], eax
call fcn.0041e1e0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xec], ecx
call fcn.00433a20
cmp eax, 0
je 0x42cd06
mov eax, 0x7e080d28
mov ecx, dword [0x49ed9c]
dec ecx
mov dword [0x49ed9c], ecx
add ecx, 0xbf3019a4
cmp eax, ecx
jg 0x42cbcd
mov eax, dword [0x49f03c]
or eax, 0xbf557be7
mov dword [0x49f03c], eax
mov eax, 0xff686f33
mov dword [esp + 0x128], 1
mov ecx, dword [0x4983dc]
mov edx, ecx
inc edx
mov dword [0x4983dc], edx
mov edx, dword [0x49f1d0]
lea ecx, [ecx + edx + 0x35ba9893]
mov dword [0x49f1d0], ecx
mov ecx, dword [0x492d54]
mov edx, esp
lea esi, [esp + 0x138]
mov dword [edx], esi
mov dword [esp + 0xe8], eax
call ecx
sub esp, 4
mov ecx, dword [0x495038]
mov edx, dword [0x4a0274]
sar edx, 1
add ecx, edx
mov edx, dword [esp + 0xe8]
cmp edx, ecx
mov dword [esp + 0xe4], eax
jne 0x42cc5b
mov eax, dword [0x49f988]
and eax, 0xe7c6e00c
mov ecx, dword [0x4976ec]
or ecx, eax
mov dword [0x4976ec], ecx
mov eax, 0x8a7ccdf3
mov ecx, dword [esp + 0x134]
mov byte [esp + ecx + 0x138], 0
mov ecx, dword [0x4a0a48]
sar ecx, 5
xor ecx, 0xcca5952a
mov edx, dword [0x49799c]
imul edx, ecx
mov dword [0x49799c], edx
mov ecx, dword [0x492dcc]
mov edx, esp
lea esi, [esp + 0x138]
mov dword [edx], esi
mov dword [esp + 0xe0], eax
call ecx
sub esp, 4
mov ecx, dword [0x4a0ccc]
mov edx, dword [0x499e80]
mov esi, edx
dec esi
mov dword [0x499e80], esi
and ecx, edx
mov edx, dword [esp + 0xe0]
cmp edx, ecx
mov dword [esp + 0xdc], eax
jle 0x42cd01
mov eax, dword [0x4a1590]
sar eax, 7
xor eax, 0xae5a7974
mov cx, word [0x4a7fec]
movsx edx, cx
add edx, edx
or eax, edx
mov edx, dword [0x498038]
imul edx, eax
mov dword [0x498038], edx
jmp 0x42cd06
mov eax, dword [0x496a18]
shr eax, 5
mov ecx, 0x6c4e7aea
sub ecx, eax
mov dx, word [0x4a7662]
mov ax, dx
or eax, ecx
mov dx, ax
mov word [0x4a7662], dx
mov eax, esp
lea ecx, [esp + 0x138]
mov dword [eax], ecx
call fcn.00432c60
mov ecx, dword [0x495ae4]
dec ecx
mov dword [0x495ae4], ecx
add ecx, 0x3ea9204e
cmp ecx, 0x70eda6f5
mov dword [esp + 0xd8], eax
jl 0x42cda7
mov eax, 0x1580420
mov cx, word [0x4a32e8]
movsx edx, cx
sar edx, 5
cmp eax, edx
jle 0x42cda2
mov eax, dword [0x49e820]
mov ecx, dword [0x49b7c8]
or eax, ecx
inc ecx
mov dword [0x49b7c8], ecx
or eax, 0xa8290fc8
mov ecx, dword [0x498fb8]
xor ecx, eax
mov dword [0x498fb8], ecx
jmp 0x42cda7
mov eax, 0xf503c5bb
mov byte [esp + 0x13b], 0
mov ecx, dword [0x49d604]
and ecx, 0xe88f
xor ecx, 0xc7fd
mov dx, word [0x4a8a4a]
mov si, dx
or esi, ecx
mov dx, si
mov word [0x4a8a4a], dx
mov ecx, dword [0x4a9550]
mov esi, esp
mov dword [esi + 4], ecx
lea ecx, [esp + 0x138]
mov dword [esi], ecx
mov dword [esp + 0xd4], eax
call fcn.00455240
mov ecx, dword [0x497774]
dec ecx
mov dword [0x497774], ecx
mov esi, dword [0x49e8a8]
add ecx, esi
add ecx, 0x10b441aa
mov esi, dword [esp + 0xd4]
cmp esi, ecx
mov dword [esp + 0xd0], eax
jle 0x42ce40
mov eax, dword [0x499f04]
mov ecx, dword [0x4971fc]
add ecx, eax
mov dword [0x4971fc], ecx
mov eax, dword [0x492dc8]
mov ecx, esp
lea edx, [esp + 0x138]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0xcc], edx
call eax
sub esp, 8
mov ecx, dword [0x496fdc]
mov edx, dword [0x49be44]
lea ecx, [ecx + edx - 0x4650f6b9]
mov dword [0x49be44], ecx
mov ecx, esp
mov edx, dword [esp + 0xcc]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4a8de0
mov dword [esp + 0xc8], eax
call fcn.00455230
mov dword [0x49751c], 0xbd686f57
cmp dword [esp + 0x128], 0
mov dword [esp + 0xc4], eax
jne 0x42ceeb
mov eax, dword [0x49efc8]
and eax, 0xc3f6974b
mov dword [0x49f994], eax
mov dword [0x4a9508], 0
mov cx, word [0x4a7b94]
mov ax, cx
and eax, 0x1525
mov cx, ax
mov word [0x4a7b94], cx
mov dword [0x49cf10], 0xafff67d3
mov eax, esp
lea ecx, [esp + 0x138]
mov dword [eax], ecx
mov dword [esp + 0xc0], ecx
call fcn.0044c580
mov dword [esp + 0x134], eax
mov eax, dword [0x493204]
xor eax, 0xd0edf4dc
mov dword [0x493204], eax
mov eax, dword [0x492dc8]
mov ecx, esp
mov edx, dword [esp + 0xc0]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x493260]
mov edx, ecx
inc edx
mov dword [0x493260], edx
mov si, word [0x4a231e]
movsx edx, si
or edx, 0x2853f98f
cmp ecx, edx
mov dword [esp + 0xbc], eax
jne 0x42cf8d
mov eax, dword [0x4a0aa4]
dec eax
mov dword [0x4a0aa4], eax
mov cx, word [0x4a507c]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a507c], cx
lea eax, [esp + 0x580]
lea ecx, [esp + 0x138]
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0xe76
mov dword [esp + 0xb8], eax
mov dword [esp + 0xb4], ecx
call fcn.00401920
mov dword [esp + 0x5b4], eax
mov eax, dword [0x495880]
mov ecx, eax
inc ecx
mov dword [0x495880], ecx
mov ecx, dword [0x49cc70]
not ecx
imul eax, ecx
mov ecx, dword [0x49f3ac]
xor ecx, eax
mov dword [0x49f3ac], ecx
mov eax, dword [esp + 0x5b4]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x138]
mov dword [ecx], eax
call fcn.00455240
mov si, word [0x4a1be0]
mov cx, si
add ecx, 0xf9fffd74
mov si, cx
mov word [0x4a1be0], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x936
mov dword [esp + 0xb0], eax
call fcn.00401920
mov dword [esp + 0x5b0], eax
mov si, word [0x4a4fd8]
movsx eax, si
and eax, 0x70570aba
mov ecx, dword [0x4944fc]
add ecx, eax
mov dword [0x4944fc], ecx
mov eax, dword [esp + 0x5b4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00405f10
mov word [0x4a20d2], 0x87d6
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x580]
call fcn.00436ba0
sub esp, 4
mov ecx, dword [0x4971d0]
mov edx, ecx
inc edx
mov dword [0x4971d0], edx
add ecx, 0x2cfa2f29
mov edx, dword [0x499698]
or edx, ecx
mov dword [0x499698], edx
mov ecx, dword [esp + 0x5b0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xac], eax
call fcn.00405f10
mov si, word [0x4a3a3e]
mov ax, si
dec eax
mov si, ax
mov word [0x4a3a3e], si
movsx eax, si
mov ecx, dword [0x49eca8]
add ecx, eax
mov dword [0x49eca8], ecx
mov eax, dword [esp + 0xb8]
mov ecx, eax
call fcn.004486c0
lea ecx, [esp + 0x580]
mov dword [esp + 0xa8], eax
call fcn.0041e1e0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xa4], ecx
call fcn.00433a20
cmp eax, 0
jne 0x42dedc
mov eax, dword [0x4987d0]
add eax, 0xffe3fdb4
mov dword [0x4987d0], eax
cmp dword [0x4a8be0], 6
jb 0x42d25d
mov ax, word [0x4a6002]
movsx ecx, ax
mov edx, dword [0x4a0f78]
xor ecx, edx
xor ecx, 0x6ee6a7c6
mov dword [0x4a0f78], ecx
mov ecx, esp
mov dword [ecx + 4], 0x12
mov dword [ecx], 0x1085
call fcn.00401920
mov dword [esp + 0x5ac], eax
mov eax, dword [0x493de8]
and eax, 0x4401a60c
mov dword [0x493de8], eax
mov eax, dword [esp + 0x5ac]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x138]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4a8c70
call fcn.0045558f
mov ecx, dword [0x496d0c]
add ecx, ecx
mov edx, dword [0x49a0b8]
and ecx, edx
and ecx, 0x9e474fa8
mov dword [0x49a0b8], ecx
mov ecx, dword [esp + 0x5ac]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x12
mov dword [esp + 0xa0], eax
call fcn.00405f10
mov eax, dword [0x494f8c]
mov ecx, eax
dec ecx
mov dword [0x494f8c], ecx
add eax, 0x5e7be828
mov ecx, dword [0x49d74c]
shl ecx, 3
xor eax, ecx
mov ecx, dword [0x496a60]
mov edx, ecx
dec edx
mov dword [0x496a60], edx
cmp eax, ecx
je 0x42d258
mov dword [0x4a1594], 0x40182
jmp 0x42d340
mov eax, 0xdec04c87
mov cx, word [0x4a635e]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a635e], cx
movsx edx, cx
imul edx, edx, 0xb6cce821
sub eax, edx
cmp eax, 0x13f747a2
jg 0x42d296
mov word [0x4a5ce2], 0x30cd
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0x297
call fcn.00401920
mov dword [esp + 0x5a8], eax
mov eax, dword [0x49478c]
or eax, 0x5a46eb57
mov dword [0x49478c], eax
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x138]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4a8c70
call fcn.0045558f
mov dx, word [0x4a47d4]
movsx ecx, dx
mov esi, dword [0x49bc1c]
dec esi
mov dword [0x49bc1c], esi
and ecx, esi
mov esi, dword [0x49e428]
or esi, ecx
mov dword [0x49e428], esi
mov ecx, dword [esp + 0x5a8]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x24
mov dword [esp + 0x9c], eax
call fcn.00405f10
mov dx, word [0x4a7aec]
mov ax, dx
imul eax, eax, 0xfecdb936
mov dx, ax
mov word [0x4a7aec], dx
mov eax, 0x365e59b
mov ecx, dword [0x493bc8]
mov edx, ecx
dec edx
mov dword [0x493bc8], edx
add ecx, 0xa86c7b
and ecx, 0xaafce240
mov dword [0x497d78], ecx
mov byte [esp + 0x57f], 0
mov ecx, dword [0x499c34]
add ecx, 0x6cec80f3
or ecx, 0xd13426d7
mov dword [0x49f164], ecx
mov ecx, dword [0x4a9550]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x138]
mov dword [edx], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
call fcn.00455240
mov ecx, dword [0x49d088]
add ecx, 0x96eb8fe5
mov edx, dword [0x49a234]
xor edx, ecx
mov dword [0x49a234], edx
mov ecx, dword [0x492dc8]
mov edx, esp
mov esi, dword [esp + 0x94]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x90], eax
call ecx
sub esp, 8
mov ecx, dword [0x49c100]
mov edx, dword [esp + 0x98]
cmp edx, ecx
mov dword [esp + 0x8c], eax
jle 0x42d427
mov eax, dword [0x4999cc]
or eax, 0xd8c6
mov cx, word [0x4a6802]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4a6802], cx
mov eax, 0xbede512
mov ecx, esp
lea edx, [esp + 0x138]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4a8de0
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
call fcn.00455230
mov ecx, dword [0x493e18]
mov edx, dword [0x49d494]
imul edx, ecx
mov dword [0x49d494], edx
mov ecx, esp
mov edx, dword [esp + 0x84]
mov dword [ecx], edx
mov dword [esp + 0x80], eax
call fcn.0044c580
mov dword [esp + 0x134], eax
mov eax, dword [0x49b3b4]
mov ecx, eax
dec ecx
mov dword [0x49b3b4], ecx
imul eax, eax, 0xc82f6973
xor eax, 0x54e5
mov si, word [0x4a6d3e]
mov cx, si
add ecx, eax
mov si, cx
mov word [0x4a6d3e], si
mov eax, dword [0x492dc8]
mov ecx, esp
mov edx, dword [esp + 0x84]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov si, word [0x4a5dc8]
mov cx, si
or ecx, 0xf324
mov si, cx
mov word [0x4a5dc8], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0xe76
mov dword [esp + 0x7c], eax
call fcn.00401920
mov dword [esp + 0x5a4], eax
mov eax, dword [0x4957dc]
xor eax, 0xfa4b97f9
mov dword [0x4957dc], eax
mov eax, dword [esp + 0x5a4]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x84]
mov dword [ecx], eax
call fcn.00455240
mov si, word [0x4a4284]
movsx ecx, si
add ecx, 0x77356239
mov edx, dword [esp + 0x88]
cmp edx, ecx
mov dword [esp + 0x78], eax
jl 0x42d5ce
mov eax, dword [0x495398]
mov ecx, eax
dec ecx
mov dword [0x495398], ecx
add eax, 0x2ac19f96
and eax, 0x7ebb2181
mov ecx, dword [0x499744]
mov edx, ecx
dec edx
mov dword [0x499744], edx
imul ecx, ecx, 0x794c62aa
xor ecx, 0xd320ba57
cmp eax, ecx
je 0x42d5ba
mov eax, dword [0x49f508]
and eax, 0x5806
xor eax, 0x3a84
mov cx, word [0x4a7570]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4a7570], cx
jmp 0x42d5c9
mov eax, dword [0x49cc04]
add eax, 0x6d208069
mov dword [0x49cc04], eax
jmp 0x42d5ce
mov eax, 0x31b01f7
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x936
mov dword [esp + 0x74], eax
call fcn.00401920
mov dword [esp + 0x5a0], eax
mov eax, dword [0x49bd58]
add eax, 0x9a25944a
mov dword [0x49bd58], eax
mov eax, dword [esp + 0x5a4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00405f10
mov eax, dword [0x49f77c]
imul eax, eax, 0xcb69726d
sub eax, 0xd51b4e00
mov ecx, dword [esp + 0x74]
cmp ecx, eax
jge 0x42d643
mov eax, dword [0x497348]
add eax, 0xc239deb2
mov dword [0x497348], eax
lea eax, [esp + 0x580]
lea ecx, [esp + 0x138]
mov edx, dword [esp + 0x5a0]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x580]
mov dword [esp + 0x70], ecx
mov ecx, edx
mov dword [esp + 0x6c], eax
call fcn.00436ba0
sub esp, 4
mov di, word [0x4a5d2e]
mov cx, di
add ecx, 0x1e193eb1
mov di, cx
mov word [0x4a5d2e], di
mov ecx, dword [esp + 0x5a0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x68], eax
call fcn.00405f10
mov eax, dword [0x493e90]
inc eax
mov dword [0x493e90], eax
or eax, 0x29d6be00
mov dword [0x49de0c], eax
mov eax, dword [esp + 0x6c]
mov ecx, eax
call fcn.004486c0
lea ecx, [esp + 0x580]
mov dword [esp + 0x64], eax
call fcn.0041e1e0
mov ecx, 0x9a47605
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], 0x9a47605
mov dword [esp + 0x60], ecx
call fcn.00433a20
cmp eax, 0
jne 0x42de98
mov eax, 0x5db315c4
mov ecx, dword [0x49d594]
not ecx
mov dx, word [0x4a5fc8]
mov si, dx
dec esi
mov dx, si
mov word [0x4a5fc8], dx
movsx esi, dx
add esi, 0x6350a282
and ecx, esi
cmp eax, ecx
jge 0x42d76b
mov eax, 0xa4320011
mov ecx, dword [0x49a7e8]
shl ecx, 0xa
cmp eax, ecx
jle 0x42d766
mov eax, dword [0x496be8]
or eax, 0xefb501eb
mov dword [0x496be8], eax
jmp 0x42d76b
mov eax, dword [0x492d70]
mov ecx, esp
lea edx, [esp + 0x138]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
call eax
sub esp, 8
mov ecx, dword [0x495220]
imul ecx, ecx, 0xcd85da44
add ecx, 0xaeb08897
cmp ecx, 0xbdc7a040
mov dword [esp + 0x5c], eax
jl 0x42d7d7
mov eax, dword [0x497d18]
mov ecx, eax
dec ecx
mov dword [0x497d18], ecx
mov dx, word [0x4a294a]
mov cx, dx
and eax, ecx
and eax, 0xc3e6
mov dx, ax
mov word [0x4a294a], dx
jmp 0x42d82b
mov eax, 0xc28b86da
mov ecx, dword [0x499434]
mov edx, ecx
inc edx
mov dword [0x499434], edx
cmp eax, ecx
jne 0x42d80b
mov eax, dword [0x49c074]
mov ecx, dword [0x494e38]
or ecx, eax
mov dword [0x494e38], ecx
jmp 0x42d826
mov eax, dword [0x496718]
mov cx, word [0x4a6c7c]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a6c7c], cx
jmp 0x42d82b
mov eax, esp
lea ecx, [esp + 0x138]
mov dword [eax], ecx
call fcn.00451b00
mov dword [esp + 0x134], eax
mov eax, dword [0x49dafc]
mov ecx, eax
dec ecx
mov dword [0x49dafc], ecx
mov ecx, dword [0x493048]
cmp eax, ecx
jg 0x42d887
mov eax, dword [0x49c120]
sub eax, 0xa9b020b1
cmp eax, 0x9fc62002
jge 0x42d882
mov eax, dword [0x4944a8]
and eax, 0xfef7d74f
mov dword [0x4944a8], eax
jmp 0x42d887
mov eax, dword [esp + 0x134]
add eax, 0xfffffffe
mov dword [esp + 0x134], eax
mov eax, dword [0x497c6c]
mov cx, word [0x4a1cd2]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a1cd2], cx
mov eax, dword [esp + 0x134]
mov dword [esp + 0x130], eax
cmp dword [esp + 0x130], 0
jle 0x42d9fa
mov eax, dword [0x4930d4]
add eax, 0xef707d00
mov dword [0x4930d4], eax
mov eax, dword [esp + 0x130]
movsx eax, byte [esp + eax + 0x138]
cmp eax, 0x5c
jne 0x42d9c7
mov eax, 0x71a7187c
mov ecx, dword [0x499f6c]
dec ecx
mov dword [0x499f6c], ecx
mov edx, dword [0x49a2e4]
mov esi, edx
inc esi
mov dword [0x49a2e4], esi
and ecx, edx
mov di, word [0x4a63f6]
mov dx, di
imul edx, ecx
mov di, dx
mov word [0x4a63f6], di
mov ecx, dword [esp + 0x130]
inc ecx
mov dword [esp + 0x130], ecx
mov di, word [0x4a1d7e]
mov cx, di
not ecx
and ecx, 0xc04
mov edx, dword [0x493108]
or edx, ecx
mov dword [0x493108], edx
mov ecx, dword [esp + 0x130]
mov byte [esp + ecx + 0x138], 0
mov ecx, dword [0x49583c]
shl ecx, 5
xor ecx, 0x48ef3d3e
xor ecx, 0x2f9cdf06
cmp eax, ecx
jne 0x42d99b
mov eax, dword [0x4a02e8]
imul eax, eax, 0xab534bc0
mov dword [0x4a02e8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x134], eax
mov cx, word [0x4a856e]
mov ax, cx
add eax, 0xa9e42c30
mov cx, ax
mov word [0x4a856e], cx
jmp 0x42d9fa
mov eax, dword [0x4936a0]
mov ecx, eax
inc ecx
mov dword [0x4936a0], ecx
mov ecx, dword [0x4a11a8]
imul ecx, eax
mov dword [0x4a11a8], ecx
mov eax, dword [esp + 0x130]
add eax, 0xffffffff
mov dword [esp + 0x130], eax
jmp 0x42d8c1
mov ax, word [0x4a4a06]
movsx ecx, ax
xor ecx, 0x98edc762
cmp ecx, 0x62203302
jge 0x42da24
mov eax, dword [0x4976fc]
and eax, 0x4e1e463e
mov dword [0x4976fc], eax
mov eax, esp
lea ecx, [esp + 0x138]
mov dword [eax + 4], ecx
mov dword [eax], 0x4a8de0
call fcn.00455230
mov ecx, dword [0x49ed4c]
shl ecx, 2
and ecx, 0x91f3c75c
cmp ecx, 0xc8b4746d
mov dword [esp + 0x58], eax
je 0x42da74
mov eax, dword [0x49f8b0]
dec eax
mov dword [0x49f8b0], eax
mov ecx, dword [0x4a02bc]
imul ecx, eax
mov dword [0x4a02bc], ecx
mov eax, 0xcbb2af84
mov ecx, esp
lea edx, [esp + 0x138]
mov dword [ecx], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
call fcn.0044c580
mov dword [esp + 0x134], eax
mov si, word [0x4a8482]
mov ax, si
add eax, 0x692791
mov si, ax
mov word [0x4a8482], si
mov eax, dword [0x492dc8]
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x49fd34]
imul ecx, ecx, 0x7e76d59b
mov dword [0x49fd34], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0xe76
mov dword [esp + 0x4c], eax
call fcn.00401920
mov dword [esp + 0x59c], eax
mov si, word [0x4a2b2e]
mov ax, si
and eax, 0xe6b1
mov si, ax
mov word [0x4a2b2e], si
mov eax, dword [esp + 0x59c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ecx], eax
call fcn.00455240
mov ecx, dword [0x49eb9c]
mov si, word [0x4a256e]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x4a256e], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x936
mov dword [esp + 0x48], eax
call fcn.00401920
mov dword [esp + 0x598], eax
mov eax, dword [0x493a78]
inc eax
mov dword [0x493a78], eax
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jne 0x42dbcd
mov eax, 0x444040
mov ecx, dword [0x497b10]
mov dx, word [0x4a6be0]
movsx esi, dx
xor esi, 0xffffffff
sub ecx, esi
cmp eax, ecx
jle 0x42dbc8
mov ax, word [0x4a32a4]
mov cx, ax
mov ax, word [0x4a3c32]
mov dx, ax
and ecx, edx
mov ax, word [0x4a2a62]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x4a2a62], ax
jmp 0x42dbcd
mov eax, 0x3211b827
mov ecx, dword [esp + 0x59c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x44], eax
call fcn.00405f10
mov eax, dword [0x49c490]
and eax, 0xc5b55bb3
mov dword [0x49c490], eax
mov eax, dword [esp + 0x598]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x580]
call fcn.00436ba0
sub esp, 4
mov ecx, dword [0x49b23c]
mov edx, ecx
inc edx
mov dword [0x49b23c], edx
mov edx, dword [0x498acc]
mov si, word [0x4a769a]
movsx edi, si
add edx, edi
xor ecx, edx
mov edx, dword [esp + 0x44]
cmp edx, ecx
mov dword [esp + 0x40], eax
jge 0x42dc66
mov ax, word [0x4a6a1c]
mov cx, ax
or ecx, 0xea49
mov ax, cx
mov word [0x4a6a1c], ax
jmp 0x42dc8f
mov eax, dword [0x49b7f8]
mov ecx, eax
dec ecx
mov dword [0x49b7f8], ecx
add eax, 0x82675e73
mov ecx, dword [0x495200]
or eax, ecx
mov ecx, dword [0x4a06e4]
xor ecx, eax
mov dword [0x4a06e4], ecx
mov eax, 0x86b6202a
mov ecx, dword [esp + 0x598]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x3c], eax
call fcn.00405f10
mov eax, dword [0x4987ac]
inc eax
mov dword [0x4987ac], eax
imul eax, eax, 0x178483f7
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jle 0x42dcea
mov eax, dword [0x499014]
dec eax
mov dword [0x499014], eax
and eax, 0x45ca17dc
mov ecx, dword [0x497b70]
sub ecx, eax
mov dword [0x497b70], ecx
lea eax, [esp + 0x580]
lea ecx, [esp + 0x138]
mov dword [esp + 0x38], ecx
mov ecx, eax
call fcn.004486c0
lea ecx, [esp + 0x580]
mov dword [esp + 0x34], eax
call fcn.0041e1e0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x30], ecx
call fcn.00433a20
cmp eax, 0
jne 0x42de89
mov eax, dword [0x4990e4]
mov cx, word [0x4a4c54]
mov dx, cx
inc edx
mov si, dx
mov word [0x4a4c54], si
movsx edx, cx
or eax, edx
mov edx, dword [0x4a0d78]
and edx, eax
mov dword [0x4a0d78], edx
mov eax, dword [0x492d70]
mov edx, esp
lea edi, [esp + 0x138]
mov dword [edx + 4], edi
mov dword [edx], 0x104
mov dword [esp + 0x2c], edi
call eax
sub esp, 8
mov cx, word [0x4a4970]
mov dx, cx
imul edx, edx, 0x62cc21fd
mov cx, dx
mov word [0x4a4970], cx
mov edx, esp
mov edi, dword [esp + 0x2c]
mov dword [edx + 4], edi
mov dword [edx], 0x4a8de0
mov dword [esp + 0x28], eax
call fcn.00455230
mov edx, dword [0x49c97c]
mov edi, edx
inc edi
mov dword [0x49c97c], edi
and edx, 0xc52af87f
mov edi, dword [0x49babc]
imul edi, edx
mov dword [0x49babc], edi
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0xe76
mov dword [esp + 0x24], eax
call fcn.00401920
mov dword [esp + 0x594], eax
mov eax, dword [0x493a54]
dec eax
mov dword [0x493a54], eax
imul eax, eax, 0x2bddec3b
or eax, 0xa9cc07ae
mov edx, dword [0x496388]
imul edx, eax
mov dword [0x496388], edx
mov eax, dword [esp + 0x594]
mov edx, esp
mov dword [edx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [edx], eax
call fcn.00455240
mov edx, dword [0x495ef0]
add edx, 0x3d5b5bf8
mov dword [0x495ef0], edx
mov edx, dword [esp + 0x594]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], 0x1f
mov dword [esp + 0x20], eax
call fcn.00405f10
mov cx, word [0x4a4efa]
mov ax, cx
or eax, 0x4500
mov cx, ax
mov word [0x4a4efa], cx
mov eax, dword [0x49e5b8]
and eax, 0x554a5346
mov dword [0x49e5b8], eax
mov eax, 0x508f9c8d
mov cx, word [0x4a7b7a]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a7b7a], cx
movsx edx, cx
xor edx, 0x2575112a
cmp eax, edx
jl 0x42ded7
mov eax, dword [0x49f6bc]
or eax, 0x8650
mov cx, ax
mov word [0x4a232e], cx
jmp 0x42dedc
mov eax, 0x3877290d
mov ecx, dword [0x49e400]
mov dx, word [0x4a8b52]
mov si, dx
or esi, ecx
mov dx, si
mov word [0x4a8b52], dx
mov ecx, esp
lea esi, [esp + 0x138]
mov dword [ecx], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
call fcn.0044c580
mov ecx, dword [0x499ae4]
inc ecx
mov dword [0x499ae4], ecx
imul ecx, ecx, 0x28d4c8
mov esi, dword [0x498a14]
lea ecx, [ecx + esi + 0x72945f7b]
mov dword [0x498a14], ecx
mov ecx, dword [0x492d7c]
mov esi, esp
mov edi, dword [esp + 0x18]
mov dword [esi], edi
mov dword [esi + 4], 2
mov dword [esp + 0x14], eax
call ecx
sub esp, 8
mov ecx, dword [0x49e350]
sar ecx, 8
mov esi, dword [esp + 0x1c]
cmp esi, ecx
mov dword [esp + 0x10], eax
jg 0x42df8f
mov ax, word [0x4a2e66]
mov cx, ax
add ecx, 0xc1ed670b
mov ax, cx
mov word [0x4a2e66], ax
jmp 0x42dfd1
mov eax, 0x4a386a4
mov ecx, dword [0x49a218]
mov edx, dword [0x495b60]
not edx
mov esi, dword [0x4949dc]
sub eax, esi
and edx, eax
cmp ecx, edx
jle 0x42dfcc
mov ax, word [0x4a6b44]
mov cx, ax
or ecx, 0x7978
mov ax, cx
mov word [0x4a6b44], ax
jmp 0x42dfd1
mov eax, esp
lea ecx, [esp + 0x138]
mov dword [eax], ecx
mov dword [eax + 4], 0x448
call fcn.00418560
mov dx, word [0x4a72c2]
movsx eax, dx
or eax, 0x12a4040a
mov ecx, dword [0x49ed4c]
add ecx, eax
mov dword [0x49ed4c], ecx
lea ecx, [esp + 0x580]
call fcn.00438260
add esp, 0x5c0
pop esi
pop edi
ret