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

Disassembly:
push edi
push esi
sub esp, 0x5cc
mov eax, 0x5504b840
mov cx, word [0x49ddfc]
movsx edx, cx
cmp eax, edx
jle 0x429001
mov eax, dword [0x49a6ac]
mov ecx, eax
dec ecx
mov dword [0x49a6ac], ecx
and eax, 0xa846450c
cmp eax, 0xefefb382
jl 0x428ffc
mov eax, dword [0x49d048]
or eax, 0x7989714
mov dword [0x49d048], eax
jmp 0x429001
lea ecx, [esp + 0x58c]
call fcn.004444c0
mov ecx, dword [0x49b6e0]
xor ecx, 0xb06cd92f
mov dword [0x49b6e0], ecx
mov dword [0x49a404], 0x758a000
mov ecx, dword [0x4975a8]
or ecx, 0xc5ff72a3
mov dword [0x4975a8], ecx
mov dword [0x497e9c], 0x8ccf36f1
mov dword [esp + 0x118], 0
mov ecx, dword [0x49789c]
xor ecx, 0x95bb7850
mov dword [0x499488], ecx
mov dword [0x4a0c50], 0x94
mov dx, word [0x49f21c]
mov cx, dx
imul ecx, ecx, 0x62889dfb
mov dx, cx
mov word [0x49f21c], dx
mov ecx, dword [0x495880]
mov esi, esp
mov dword [esi], 0x4a0c50
mov dword [esp + 0x114], eax
call ecx
sub esp, 4
mov ecx, dword [0x497008]
mov esi, 0x5828b9b2
sub esi, ecx
and esi, 0x4535
mov dx, word [0x49ff48]
mov cx, dx
xor ecx, esi
mov dx, cx
mov word [0x49ff48], dx
mov dword [esp + 0x110], eax
call fcn.00406a40
mov dword [0x4a15e4], eax
mov eax, dword [0x49c8f8]
add eax, 0xd44e7c54
mov dword [0x49c8f8], eax
call fcn.00442200
mov dword [0x4a15e8], eax
mov eax, dword [0x496304]
or eax, 0xc41bd8
mov dword [0x496304], eax
mov eax, dword [0x4a15e4]
cmp eax, 0
je 0x4293bb
mov eax, 0xa6d28d8b
mov ecx, dword [0x499468]
or ecx, 0x68b9e22f
mov dword [0x499468], ecx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0x10c], eax
call fcn.00450f80
mov dword [esp + 0x124], eax
mov eax, dword [0x49c0e8]
mov ecx, eax
inc ecx
mov dword [0x49c0e8], ecx
or eax, 0xd028
mov si, word [0x49db2c]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x49db2c], si
mov eax, dword [esp + 0x124]
mov byte [esp + eax + 0x12b], 0x5c
mov si, word [0x49e2a4]
movsx eax, si
add eax, 0x9d197b9f
sub eax, 0xda83481f
mov ecx, dword [esp + 0x10c]
cmp ecx, eax
jle 0x4291c2
mov eax, dword [0x49ceb0]
mov ecx, eax
dec ecx
mov dword [0x49ceb0], ecx
mov ecx, dword [0x49c7ec]
lea eax, [ecx + eax - 1]
mov dword [0x49c7ec], eax
jmp 0x4291e8
mov eax, dword [0x495df8]
mov ecx, eax
inc ecx
mov dword [0x495df8], ecx
add eax, 0x5607e2f0
xor eax, 0xffd6dcf7
mov ecx, dword [0x495d34]
and ecx, eax
mov dword [0x495d34], ecx
mov eax, dword [esp + 0x124]
inc eax
mov dword [esp + 0x124], eax
mov eax, dword [0x49b25c]
imul eax, eax, 0xe4968293
mov dword [0x49b25c], eax
mov eax, dword [esp + 0x124]
mov byte [esp + eax + 0x12b], 0
mov eax, dword [0x497000]
mov ecx, eax
dec ecx
mov dword [0x497000], ecx
add eax, 0x6c7ce351
and eax, 0x28abc381
mov ecx, dword [0x4979e0]
imul ecx, eax
mov dword [0x4979e0], ecx
mov eax, dword [0x4a1628]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
call fcn.00455d30
mov dx, word [0x49d86c]
movsx ecx, dx
mov esi, dword [0x499a40]
sub esi, 0xdfde4840
cmp ecx, esi
mov dword [esp + 0x108], eax
jge 0x429289
mov eax, dword [0x497358]
xor eax, 0xcab39cc8
mov dword [0x497358], eax
mov eax, dword [0x4958c8]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0x104], edx
call eax
sub esp, 8
mov si, word [0x49fbcc]
mov cx, si
xor ecx, 0x8058
mov si, cx
mov word [0x49fbcc], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1a9a
mov dword [esp + 0x100], eax
call fcn.0043b390
mov dword [esp + 0x5c8], eax
mov eax, dword [0x4998bc]
add eax, 0x14dffa70
mov dword [0x4998bc], eax
mov eax, dword [esp + 0x5c8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x104]
mov dword [ecx], eax
call fcn.00455d30
mov ecx, dword [0x4996ec]
add ecx, 0xb552bac0
xor ecx, 0xbff32bab
cmp ecx, 0x48088224
mov dword [esp + 0xfc], eax
jl 0x429383
mov eax, 0x2a457bfd
mov ecx, dword [0x4976cc]
sub eax, ecx
cmp eax, 0x9a16f46a
je 0x42937e
mov eax, 0xeee9f47c
mov ecx, dword [0x49bedc]
dec ecx
mov dword [0x49bedc], ecx
add ecx, 0xb3b1a248
xor ecx, 0x3980981e
cmp eax, ecx
jge 0x429379
jmp 0x429379
jmp 0x42937e
jmp 0x429392
mov eax, dword [0x49a304]
add eax, 0xf252d8b6
mov dword [0x49a304], eax
mov eax, dword [esp + 0x5c8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00403dd0
mov eax, dword [0x49a224]
sar eax, 9
mov dword [0x496a18], eax
jmp 0x4293ed
mov ax, word [0x49ed2a]
mov cx, ax
add ecx, 0x32fe5e70
mov ax, cx
mov word [0x49ed2a], ax
mov byte [esp + 0x12b], 0
mov ecx, dword [0x497d80]
xor ecx, 0x2011eae
mov dword [0x497d80], ecx
mov eax, 0xeaeb2798
mov ecx, dword [0x497ec8]
inc ecx
mov dword [0x497ec8], ecx
cmp eax, ecx
jg 0x429416
mov dword [0x497d0c], 0x5250b617
jmp 0x429441
mov eax, dword [0x496fe8]
mov ecx, eax
inc ecx
mov dword [0x496fe8], ecx
mov ecx, 0x324176e
sub ecx, eax
mov dx, word [0x49da32]
mov ax, dx
sub eax, ecx
mov dx, ax
mov word [0x49da32], dx
mov eax, 0x5b2f06c2
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3cf8
mov dword [esp + 0xf8], eax
call fcn.0043b390
mov dword [esp + 0x5c4], eax
mov eax, dword [0x497038]
add eax, 0x1f395bcf
mov dx, word [0x49ea72]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x49ea72], dx
mov eax, dword [esp + 0x5c4]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.00430570
sub esp, 4
mov dx, word [0x49ec50]
mov cx, dx
mov esi, dword [0x49b1a4]
lea ecx, [ecx + esi - 0x41b7fc68]
mov dx, word [0x49d4e4]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x49d4e4], dx
mov ecx, dword [esp + 0x5c4]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x1f
mov dword [esp + 0xf4], eax
call fcn.00403dd0
mov eax, dword [0x49b3b0]
mov ecx, dword [esp + 0xf8]
cmp ecx, eax
jne 0x429511
mov eax, dword [0x49b6c0]
and eax, 0x7fee33ff
mov dword [0x49b6c0], eax
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x12b]
mov dword [esp + 0xf0], ecx
mov ecx, eax
call fcn.00441880
lea ecx, [esp + 0x58c]
mov dword [esp + 0xec], eax
call fcn.004131b0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xe8], ecx
call fcn.00440810
cmp eax, 0
je 0x429676
mov eax, dword [0x49b744]
mov ecx, eax
dec ecx
mov dword [0x49b744], ecx
mov ecx, 0xf0f5bc14
sub ecx, eax
mov eax, dword [0x49caf8]
and eax, ecx
mov dword [0x49caf8], eax
mov dword [esp + 0x118], 1
mov dx, word [0x4a0a1e]
mov ax, dx
xor eax, 0x53b5
mov dx, ax
mov word [0x4a0a1e], dx
mov eax, dword [0x495854]
mov ecx, esp
lea esi, [esp + 0x12b]
mov dword [ecx], esi
mov dword [esp + 0xe4], esi
call eax
sub esp, 4
mov ecx, dword [0x498230]
shr ecx, 1
xor ecx, 0xd201
or ecx, 0x21b6
mov dx, word [0x4a0a68]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x4a0a68], dx
mov ecx, dword [esp + 0x124]
mov byte [esp + ecx + 0x12b], 0
mov ecx, dword [0x49cdb4]
imul ecx, ecx, 0x5a6db406
mov dword [0x49c3b8], ecx
mov ecx, dword [0x4958cc]
mov esi, esp
mov edi, dword [esp + 0xe4]
mov dword [esi], edi
mov dword [esp + 0xe0], eax
call ecx
sub esp, 4
mov ecx, dword [0x49c794]
mov esi, ecx
inc esi
mov dword [0x49c794], esi
imul ecx, ecx, 0xd6f5a190
or ecx, 0x6b5e1d26
mov esi, dword [0x495a60]
imul esi, ecx
mov dword [0x495a60], esi
mov dword [esp + 0xdc], eax
mov eax, 0x152ba4d3
mov ecx, dword [0x49aa50]
or ecx, 0x333b7e99
mov dword [0x49aa50], ecx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0xd8], eax
call fcn.00450f80
mov si, word [0x49f498]
mov cx, si
not ecx
and ecx, 0x8982
mov si, word [0x4a0700]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x4a0700], si
mov byte [esp + 0x12e], 0
mov ecx, dword [0x49ac0c]
add ecx, 0x67d480cb
mov edx, dword [esp + 0xd8]
cmp edx, ecx
mov dword [esp + 0xd4], eax
jne 0x42970e
mov ax, word [0x49ee38]
mov cx, ax
or ecx, 0x8406
mov ax, cx
mov word [0x49ee38], ax
mov eax, dword [0x4a1628]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [esp + 0xd0], eax
call fcn.00455d30
mov ecx, dword [0x4975c8]
imul ecx, ecx, 0x2bdfcf3
mov dx, word [0x49fdb6]
movsx esi, dx
sar esi, 6
or ecx, esi
mov esi, dword [0x495a30]
and esi, ecx
mov dword [0x495a30], esi
mov ecx, dword [0x4958c8]
mov esi, esp
mov edi, dword [esp + 0xd0]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0xcc], eax
call ecx
sub esp, 8
mov ecx, dword [0x4979e4]
or ecx, 0x7f69a657
mov dword [0x4979e4], ecx
mov ecx, esp
mov esi, dword [esp + 0xd0]
mov dword [ecx + 4], esi
mov dword [ecx], 0x4a0e6c
mov dword [esp + 0xc8], eax
call fcn.00455d20
mov ecx, dword [0x496a10]
mov esi, ecx
inc esi
mov dword [0x496a10], esi
add ecx, 0xa309b4db
mov dword [0x4976cc], ecx
cmp dword [esp + 0x118], 0
mov dword [esp + 0xc4], eax
jne 0x42980e
mov eax, dword [0x49b7c0]
xor eax, 0x40843c8f
mov dword [0x49b7c0], eax
mov dword [0x4a15e0], 0
mov eax, dword [0x49c030]
inc eax
mov dword [0x49c030], eax
imul eax, eax, 0x25574d37
mov cx, ax
mov word [0x49e196], cx
mov eax, 0x5ac99421
mov cx, word [0x49de9c]
mov dx, cx
mov esi, edx
inc esi
mov cx, si
mov word [0x49de9c], cx
xor edx, 0xe20
mov cx, word [0x49eb08]
mov si, cx
and esi, edx
mov cx, si
mov word [0x49eb08], cx
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx], esi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], esi
call fcn.0041b3e0
mov dword [esp + 0x124], eax
mov eax, dword [0x495aa0]
not eax
add eax, 0x93e9237b
mov edx, dword [0x4999d4]
and edx, eax
mov dword [0x4999d4], edx
mov eax, dword [0x4958c8]
mov edx, esp
mov esi, dword [esp + 0xbc]
mov dword [edx], esi
mov dword [edx + 4], 0
call eax
sub esp, 8
mov edx, dword [0x498b2c]
mov esi, dword [esp + 0xc0]
cmp esi, edx
mov dword [esp + 0xb8], eax
jne 0x4298df
mov eax, 0xbfff9fa6
mov ecx, dword [0x49ba24]
cmp eax, ecx
jne 0x4298da
mov dword [0x4963f4], 0x66d3a782
jmp 0x4298df
mov eax, 0xddcca17f
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1a9a
mov dword [esp + 0xb4], eax
call fcn.0043b390
mov dword [esp + 0x5c0], eax
mov eax, dword [0x49a988]
mov ecx, dword [0x49c974]
imul eax, ecx
mov ecx, dword [0x499a94]
mov edx, ecx
dec edx
mov dword [0x499a94], edx
sub eax, ecx
mov ecx, dword [esp + 0xb4]
cmp ecx, eax
jge 0x429954
mov eax, dword [0x497278]
not eax
add eax, 0x24fbda09
xor eax, 0xbd43761c
mov ecx, dword [0x499a5c]
imul ecx, eax
mov dword [0x499a5c], ecx
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x5c0]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x12b]
mov dword [esi], edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], ecx
call fcn.00455d30
mov ecx, dword [0x49694c]
imul ecx, ecx, 0xafc99992
mov edx, dword [0x49c2f0]
inc edx
mov dword [0x49c2f0], edx
xor ecx, edx
mov di, word [0x49f24e]
mov dx, di
xor edx, ecx
mov di, dx
mov word [0x49f24e], di
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3cf8
mov dword [esp + 0xa8], eax
call fcn.0043b390
mov dword [esp + 0x5bc], eax
mov word [0x49e486], 0x25fa
mov eax, dword [esp + 0x5c0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00403dd0
mov eax, dword [0x497efc]
sar eax, 3
mov ecx, dword [0x49b898]
xor ecx, eax
mov dword [0x49b898], ecx
mov eax, dword [esp + 0x5bc]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.00430570
sub esp, 4
mov ecx, dword [0x499454]
shr ecx, 0xa
mov di, word [0x49f5b6]
mov dx, di
imul edx, ecx
mov di, dx
mov word [0x49f5b6], di
mov ecx, dword [esp + 0x5bc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xa4], eax
call fcn.00403dd0
mov dword [0x495e14], 0xe50b5ce0
mov eax, dword [esp + 0xb0]
mov ecx, eax
call fcn.00441880
lea ecx, [esp + 0x58c]
mov dword [esp + 0xa0], eax
call fcn.004131b0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x9c], ecx
call fcn.00440810
cmp eax, 0
jne 0x42a84c
mov ax, word [0x4a015e]
mov cx, ax
add ecx, 0x842851
mov ax, cx
mov word [0x4a015e], ax
cmp dword [0x4a0c54], 6
jb 0x429c2b
mov eax, 0xa2d2df7d
mov ecx, dword [0x4976c4]
mov edx, ecx
dec edx
mov dword [0x4976c4], edx
mov si, word [0x49df10]
mov dx, si
or edx, ecx
mov si, dx
mov word [0x49df10], si
mov ecx, esp
mov dword [ecx + 4], 0x12
mov dword [ecx], 0x1493
mov dword [esp + 0x98], eax
call fcn.0043b390
mov dword [esp + 0x5b8], eax
mov eax, dword [0x49732c]
and eax, 0x7c100428
mov dword [0x49732c], eax
mov eax, dword [esp + 0x5b8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4a0ce4
call fcn.00455baf
mov ecx, dword [0x499f30]
xor ecx, 0xffffffff
mov edx, dword [esp + 0x98]
cmp edx, ecx
mov dword [esp + 0x94], eax
je 0x429bba
mov ax, word [0x49e4a6]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49e4a6], ax
movsx ecx, ax
mov edx, dword [0x4996dc]
and edx, ecx
mov dword [0x4996dc], edx
jmp 0x429bf6
mov ax, word [0x4a024a]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a024a], ax
movsx ecx, ax
add ecx, 0xf0fe879f
cmp ecx, 0xa84ccd01
je 0x429bf1
mov eax, dword [0x49b608]
xor eax, 0xa7192719
mov dword [0x49b608], eax
jmp 0x429bf6
mov eax, dword [esp + 0x5b8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x12
call fcn.00403dd0
mov dx, word [0x4a024a]
mov ax, dx
add eax, 0x47616720
mov dx, ax
mov word [0x4a024a], dx
jmp 0x429d14
mov eax, dword [0x49cb34]
mov ecx, 0xa82fab8e
sub ecx, eax
mov eax, dword [0x495cd4]
sub eax, ecx
mov dword [0x495cd4], eax
mov eax, esp
mov dword [eax + 4], 0x24
mov dword [eax], 0x1d95
call fcn.0043b390
mov dword [esp + 0x5b4], eax
mov eax, dword [0x498784]
add eax, 0xbf5f155d
mov dword [0x498784], eax
mov eax, dword [esp + 0x5b4]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
mov dword [ecx + 8], 0x4a0ce4
call fcn.00455baf
mov ecx, dword [0x4992e8]
xor ecx, 0xffffffff
xor ecx, 0x2c690ad6
cmp ecx, 0x3bbe44c1
mov dword [esp + 0x90], eax
jne 0x429cc5
mov eax, dword [0x499cac]
imul eax, eax, 0xfa2aa7ac
mov dword [0x499cac], eax
jmp 0x429cdd
mov ax, word [0x49e7ec]
mov cx, ax
xor ecx, 0x4410
mov ax, cx
mov word [0x49e7ec], ax
mov eax, dword [esp + 0x5b4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x24
call fcn.00403dd0
mov eax, dword [0x499000]
sar eax, 8
add eax, 0x9ec04f50
xor eax, 0x6f2ee541
mov ecx, dword [0x49a6e4]
and ecx, eax
mov dword [0x49a6e4], ecx
mov eax, dword [0x498a08]
dec eax
mov dword [0x498a08], eax
sub eax, 0xc4ed2156
xor eax, 0x76b14cde
cmp eax, 0x50c45220
jl 0x429d4b
mov ax, word [0x4a08ba]
movsx ecx, ax
not ecx
imul ecx, ecx, 0x72f39295
mov dword [0x497948], ecx
mov byte [esp + 0x58b], 0
mov ax, word [0x49dc5c]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49dc5c], ax
movsx ecx, ax
mov edx, dword [0x4996f4]
xor edx, ecx
mov dword [0x4996f4], edx
mov ecx, dword [0x4a1628]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x12b]
mov dword [edx], ecx
mov dword [esp + 0x8c], ecx
call fcn.00455d30
mov ecx, dword [0x497eb8]
add ecx, 0xb9c789ac
mov dword [0x497eb8], ecx
mov ecx, dword [0x4958c8]
mov edx, esp
mov esi, dword [esp + 0x8c]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x88], eax
call ecx
sub esp, 8
mov ecx, dword [0x4992d4]
sar ecx, 8
or ecx, 0x55d75ccd
cmp ecx, 0xe080b02
mov dword [esp + 0x84], eax
jge 0x429dfe
mov eax, dword [0x49a094]
add eax, 0x3c70cfc3
mov dword [0x49a094], eax
mov eax, esp
lea ecx, [esp + 0x12b]
mov dword [eax + 4], ecx
mov dword [eax], 0x4a0e6c
mov dword [esp + 0x80], ecx
call fcn.00455d20
mov ecx, dword [0x49b6b4]
sar ecx, 1
mov edx, dword [0x498b44]
xor ecx, edx
xor ecx, 0x157147f
mov dword [0x498b44], ecx
mov ecx, esp
mov edx, dword [esp + 0x80]
mov dword [ecx], edx
mov dword [esp + 0x7c], eax
call fcn.0041b3e0
mov dword [esp + 0x124], eax
mov si, word [0x49d0d8]
movsx eax, si
shl eax, 7
mov ecx, dword [0x495d98]
sar ecx, 6
xor eax, ecx
mov ecx, dword [0x4991e4]
xor ecx, eax
mov dword [0x4991e4], ecx
mov eax, dword [0x4958c8]
mov ecx, esp
mov edx, dword [esp + 0x80]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x49c3b4]
or ecx, 0x727c5200
mov dword [0x49c3b4], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1a9a
mov dword [esp + 0x78], eax
call fcn.0043b390
mov dword [esp + 0x5b0], eax
mov eax, dword [0x495f58]
xor eax, 0x7fc4613d
mov dword [0x495f58], eax
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx], eax
call fcn.00455d30
mov ecx, dword [0x49b334]
mov edx, ecx
inc edx
mov dword [0x49b334], edx
mov edx, 0x9881264b
sub edx, ecx
and edx, 0xd9109383
mov ecx, dword [0x49c178]
add ecx, edx
mov dword [0x49c178], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3cf8
mov dword [esp + 0x74], eax
call fcn.0043b390
mov dword [esp + 0x5ac], eax
mov eax, dword [0x4971cc]
mov ecx, eax
dec ecx
mov dword [0x4971cc], ecx
mov ecx, dword [0x49c6dc]
xor ecx, eax
mov dword [0x49c6dc], ecx
mov eax, dword [esp + 0x5b0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00403dd0
mov eax, dword [0x498530]
inc eax
mov dword [0x498530], eax
mov ecx, dword [0x496990]
imul eax, ecx
mov si, word [0x4a0686]
mov cx, si
inc ecx
mov di, cx
mov word [0x4a0686], di
movsx ecx, si
xor eax, ecx
mov dword [0x499f54], eax
mov eax, dword [esp + 0x5ac]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58c]
call fcn.00430570
sub esp, 4
mov ecx, dword [0x496b80]
not ecx
mov si, word [0x49f13c]
mov dx, si
inc edx
mov di, dx
mov word [0x49f13c], di
movsx edx, si
cmp ecx, edx
mov dword [esp + 0x70], eax
jge 0x42a007
mov eax, dword [0x49a100]
mov ecx, dword [0x4981cc]
sar ecx, 5
xor eax, ecx
mov ecx, dword [0x49c528]
sub ecx, eax
mov dword [0x49c528], ecx
jmp 0x42a05d
mov eax, 0xee4a5d93
mov ecx, dword [0x49bf14]
dec ecx
mov dword [0x49bf14], ecx
mov edx, dword [0x49a9c0]
mov esi, edx
dec esi
mov dword [0x49a9c0], esi
and edx, 0x68f2bc29
or ecx, edx
cmp eax, ecx
jg 0x42a058
mov ax, word [0x49d244]
movsx ecx, ax
shr ecx, 6
and ecx, 0x2270
mov edx, dword [0x49ca8c]
sub edx, ecx
mov dword [0x49ca8c], edx
jmp 0x42a05d
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x12b]
mov edx, dword [esp + 0x5ac]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
call fcn.00403dd0
mov eax, dword [0x496a84]
sar eax, 3
imul eax, eax, 0xfd19176c
mov di, word [0x49de88]
movsx ecx, di
add eax, ecx
mov ecx, dword [0x49b008]
or ecx, eax
mov dword [0x49b008], ecx
mov eax, dword [esp + 0x6c]
mov ecx, eax
call fcn.00441880
lea ecx, [esp + 0x58c]
mov dword [esp + 0x64], eax
call fcn.004131b0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x60], ecx
call fcn.00440810
cmp eax, 0
jne 0x42a842
mov ax, word [0x49f296]
mov cx, ax
or ecx, 0xdc46
mov ax, cx
mov word [0x49f296], ax
mov ecx, dword [0x495870]
mov edx, esp
lea esi, [esp + 0x12b]
mov dword [edx + 4], esi
mov dword [edx], 0x104
mov dword [esp + 0x5c], esi
call ecx
sub esp, 8
mov di, word [0x49f80c]
mov cx, di
imul ecx, ecx, 0x3af7401f
mov di, cx
mov word [0x49f80c], di
mov ecx, esp
mov edx, dword [esp + 0x5c]
mov dword [ecx], edx
mov dword [esp + 0x58], eax
call fcn.004529f0
mov dword [esp + 0x124], eax
mov eax, dword [0x49cd04]
mov ecx, eax
inc ecx
mov dword [0x49cd04], ecx
and eax, 0xe23157d4
mov ecx, dword [0x49cf8c]
imul ecx, eax
mov dword [0x49cf8c], ecx
mov eax, dword [esp + 0x124]
add eax, 0xfffffffe
mov dword [esp + 0x124], eax
mov eax, dword [0x49acd0]
add eax, 0x1b7d5f0b
mov dword [0x49acd0], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x120], eax
cmp dword [esp + 0x120], 0
jle 0x42a338
mov eax, dword [0x49b1cc]
add eax, 0x98a98efc
mov ecx, dword [0x499be0]
imul ecx, eax
mov dword [0x499be0], ecx
mov eax, dword [esp + 0x120]
movsx eax, byte [esp + eax + 0x12b]
cmp eax, 0x5c
jne 0x42a2cf
mov eax, 0x258efddd
mov cx, word [0x49e14e]
movsx edx, cx
not edx
add edx, 0x92364871
mov esi, dword [0x49cfa4]
xor esi, edx
mov dword [0x49cfa4], esi
mov edx, dword [esp + 0x120]
inc edx
mov dword [esp + 0x120], edx
mov edx, dword [0x49761c]
xor edx, 0xffffffff
imul edx, edx, 0x5212eecb
or edx, 0x95a29f4e
cmp eax, edx
jg 0x42a267
mov ax, word [0x49dc7c]
mov cx, ax
add ecx, 0x3dd00546
mov ax, cx
mov word [0x49dc7c], ax
jmp 0x42a276
mov eax, dword [0x498fdc]
add eax, 0xa496c46
mov dword [0x498fdc], eax
mov eax, dword [esp + 0x120]
mov byte [esp + eax + 0x12b], 0
mov eax, dword [0x4971fc]
add eax, 0x85c21ae8
mov dword [0x4971fc], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x124], eax
mov eax, dword [0x498758]
dec eax
mov dword [0x498758], eax
mov ecx, dword [0x49c6f8]
inc ecx
mov dword [0x49c6f8], ecx
add eax, ecx
mov ecx, dword [0x49a994]
and ecx, eax
mov dword [0x49a994], ecx
jmp 0x42a338
mov eax, dword [0x498970]
mov ecx, dword [0x49bc8c]
sar ecx, 1
imul ecx, ecx, 0xda1e5e42
or ecx, 0xbf1e7d4f
cmp eax, ecx
jl 0x42a30e
mov eax, dword [0x49bc78]
xor eax, 0xf6ddb074
mov ecx, dword [0x49c4d8]
and ecx, eax
mov dword [0x49c4d8], ecx
jmp 0x42a31d
mov eax, dword [0x4966ec]
and eax, 0x4cbaf3e2
mov dword [0x4966ec], eax
jmp 0x42a322
mov eax, dword [esp + 0x120]
add eax, 0xffffffff
mov dword [esp + 0x120], eax
jmp 0x42a1ba
mov eax, 0x191b6083
mov ecx, dword [0x49cf18]
imul ecx, ecx, 0x2c3e7d92
mov dword [0x49cf18], ecx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4a0e6c
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
call fcn.00455d20
mov ecx, dword [0x499e40]
or ecx, 0x377ba857
mov dword [0x499e40], ecx
mov ecx, esp
mov edx, dword [esp + 0x50]
mov dword [ecx], edx
mov dword [esp + 0x4c], eax
call fcn.0041b3e0
mov dword [esp + 0x124], eax
mov eax, dword [0x49aee8]
add eax, 0xef3b41d1
mov dword [0x49aee8], eax
mov eax, dword [0x4958c8]
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 [0x49a98c]
not ecx
add ecx, 0xe1808d08
mov si, cx
mov word [0x4a06ee], si
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1a9a
mov dword [esp + 0x48], eax
call fcn.0043b390
mov dword [esp + 0x5a8], eax
mov si, word [0x4a041a]
mov ax, si
and eax, 0x9925
mov si, ax
mov word [0x4a041a], si
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x50]
mov dword [ecx], eax
call fcn.00455d30
mov ecx, dword [0x4969a0]
mov edx, ecx
inc edx
mov dword [0x4969a0], edx
mov edx, dword [0x49cdbc]
mov edi, dword [esp + 0x54]
sub edi, edx
cmp ecx, edi
mov dword [esp + 0x44], eax
jge 0x42a46f
mov eax, dword [0x49705c]
mov ecx, eax
inc ecx
mov dword [0x49705c], ecx
add eax, 0x21ba73bb
mov ecx, dword [0x497750]
or ecx, eax
mov dword [0x497750], ecx
mov eax, 0xf28d87b8
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x3cf8
mov dword [esp + 0x40], eax
call fcn.0043b390
mov dword [esp + 0x5a4], eax
mov eax, dword [0x497c14]
not eax
mov dx, word [0x49f434]
mov cx, dx
or eax, ecx
or eax, 0x1048
mov dx, ax
mov word [0x49f434], dx
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00403dd0
mov eax, dword [0x499c80]
mov ecx, dword [0x49abec]
shl ecx, 5
sub eax, ecx
mov dx, word [0x49e7ce]
movsx ecx, dx
xor eax, ecx
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jle 0x42a503
mov eax, dword [0x49778c]
or eax, 0x11301851
mov dword [0x49778c], eax
mov eax, 0xfa49bbd2
mov ecx, dword [esp + 0x5a4]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x58c]
mov dword [esp + 0x3c], eax
call fcn.00430570
sub esp, 4
mov ecx, dword [0x4983b8]
xor ecx, 0xf74d7670
mov dword [0x4983b8], ecx
mov ecx, dword [esp + 0x5a4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x38], eax
call fcn.00403dd0
mov eax, dword [0x49add8]
shl eax, 9
add eax, 0x8159b8ac
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jl 0x42a581
mov eax, dword [0x49c78c]
imul eax, eax, 0xb19c544
mov dword [0x49c78c], eax
jmp 0x42a5d9
mov eax, 0x29fe1218
mov ecx, dword [0x49be2c]
inc ecx
mov dword [0x49be2c], ecx
cmp eax, ecx
jg 0x42a5bb
mov eax, dword [0x49bea4]
mov cx, word [0x49d72a]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49d72a], cx
jmp 0x42a5d4
mov eax, dword [0x49c424]
or eax, 0x19d68250
mov ecx, dword [0x496e4c]
imul ecx, eax
mov dword [0x496e4c], ecx
jmp 0x42a5d9
lea eax, [esp + 0x58c]
lea ecx, [esp + 0x12b]
mov dword [esp + 0x34], ecx
mov ecx, eax
call fcn.00441880
lea ecx, [esp + 0x58c]
mov dword [esp + 0x30], eax
call fcn.004131b0
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x2c], ecx
call fcn.00440810
cmp eax, 0
jne 0x42a808
mov eax, dword [0x49c1e4]
mov ecx, dword [0x49caec]
imul ecx, eax
mov dword [0x49caec], ecx
mov eax, dword [0x495870]
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
call eax
sub esp, 8
mov si, word [0x4a095c]
mov cx, si
dec ecx
mov si, cx
mov word [0x4a095c], si
movsx ecx, si
mov edx, dword [0x49ac94]
lea ecx, [ecx + edx*2]
and ecx, 0xcca2daf3
mov si, word [0x49e83a]
mov dx, si
inc edx
mov si, dx
mov word [0x49e83a], si
movsx edx, si
xor edx, 0x76aa53d4
cmp ecx, edx
mov dword [esp + 0x28], eax
jl 0x42a6c9
mov eax, dword [0x49b5a0]
or eax, 0x4ed5b177
mov dword [0x49b5a0], eax
jmp 0x42a6e9
mov ax, word [0x49fc46]
mov cx, ax
shl ecx, 9
mov ax, word [0x4a057a]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x4a057a], ax
mov eax, 0x8613e98d
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4a0e6c
mov dword [esp + 0x24], eax
call fcn.00455d20
mov ecx, dword [0x496e98]
shl ecx, 8
mov edx, 0x9c48b63e
sub edx, ecx
mov ecx, dword [0x4974b4]
and ecx, edx
mov dword [0x4974b4], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x1a9a
mov dword [esp + 0x20], eax
call fcn.0043b390
mov dword [esp + 0x5a0], eax
mov eax, dword [0x495e20]
sar eax, 9
imul eax, eax, 0xda5acaf3
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jne 0x42a77d
mov eax, dword [0x49c590]
add eax, 0x7224aeb1
and eax, 0x77495083
mov ecx, dword [0x498fac]
sub ecx, eax
mov dword [0x498fac], ecx
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x12b]
mov dword [ecx], eax
call fcn.00455d30
mov dx, word [0x49ec38]
mov cx, dx
inc ecx
mov si, cx
mov word [0x49ec38], si
movsx ecx, dx
cmp ecx, 0xdefe772c
mov dword [esp + 0x1c], eax
jge 0x42a7d7
mov ax, word [0x4a03a6]
mov cx, ax
add ecx, 0x2f31b568
mov ax, cx
mov word [0x4a03a6], ax
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.00403dd0
mov dx, word [0x49e428]
mov ax, dx
imul eax, eax, 0xdff3fffd
mov dx, ax
mov word [0x49e428], dx
mov eax, 0x91f624e0
mov cx, word [0x49d980]
movsx edx, cx
shl edx, 1
imul edx, edx, 0xc5c4be3b
sub edx, 0x99acf198
cmp eax, edx
jle 0x42a83d
mov eax, dword [0x49a42c]
or eax, 0x9f40cbeb
mov dword [0x49a42c], eax
jmp 0x42a842
mov dword [0x4972bc], 0x4f7ad4ff
mov ax, word [0x4a049c]
movsx ecx, ax
shl ecx, 2
and ecx, 0xbd462474
mov edx, dword [0x4970e4]
imul edx, ecx
mov dword [0x4970e4], edx
mov ecx, esp
lea edx, [esp + 0x12b]
mov dword [ecx], edx
mov dword [esp + 0x18], edx
call fcn.0041b3e0
mov ecx, dword [0x49738c]
and ecx, 0xf483c536
mov dword [0x49738c], ecx
mov ecx, dword [0x49587c]
mov edx, esp
mov esi, dword [esp + 0x18]
mov dword [edx], esi
mov dword [edx + 4], 2
mov dword [esp + 0x14], eax
call ecx
sub esp, 8
mov di, word [0x49daf4]
movsx ecx, di
imul ecx, ecx, 0x419637ad
and ecx, 0x84ee47ac
mov edx, dword [0x496758]
sub edx, ecx
mov dword [0x496758], edx
mov ecx, esp
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
mov dword [ecx + 4], 0x461
mov dword [esp + 0x10], eax
call fcn.004030c0
mov eax, dword [0x498894]
mov ecx, eax
inc ecx
mov dword [0x498894], ecx
add eax, 0x16e54632
mov di, word [0x49f530]
mov cx, di
or ecx, eax
mov di, cx
mov word [0x49f530], di
lea ecx, [esp + 0x58c]
call fcn.0042fae0
add esp, 0x5cc
pop esi
pop edi
ret