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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x5c0
mov eax, 0x1031e9c9
mov ecx, dword [0x491514]
inc ecx
mov dword [0x491514], ecx
cmp eax, ecx
je 0x4319d6
mov eax, dword [0x491730]
mov cx, word [0x491f38]
mov dx, cx
xor eax, edx
xor eax, 0x33
mov cx, ax
mov word [0x491f38], cx
jmp 0x4319f3
mov ax, word [0x492332]
movsx ecx, ax
or ecx, 0x56e21572
mov edx, dword [0x491c18]
sub edx, ecx
mov dword [0x491c18], edx
mov eax, 0x689c4ddc
lea ecx, [esp + 0x580]
mov dword [esp + 0x11c], eax
call fcn.00425880
mov dword [0x491d08], 0xc708f064
mov ecx, dword [0x491c5c]
add ecx, 0xb7167d74
and ecx, 0xa4652450
mov edx, dword [0x4918ac]
or edx, ecx
mov dword [0x4918ac], edx
mov ecx, dword [0x491b80]
mov edx, ecx
inc edx
mov dword [0x491b80], edx
sub ecx, 0x1b931192
and ecx, 0x7c6ed1b0
mov edx, dword [esp + 0x11c]
cmp edx, ecx
mov dword [esp + 0x118], eax
jne 0x431aaa
mov eax, 0x9c2ee958
mov ecx, dword [0x491738]
cmp eax, ecx
jne 0x431aa5
mov eax, dword [0x49184c]
mov ecx, eax
inc ecx
mov dword [0x49184c], ecx
mov ecx, dword [0x4915c4]
lea eax, [eax + ecx + 1]
xor eax, 0xd8281c7e
mov ecx, dword [0x491e60]
imul ecx, eax
mov dword [0x491e60], ecx
jmp 0x431aaa
mov eax, 0x5c9fd94c
mov ecx, dword [0x491ed4]
mov edx, ecx
inc edx
mov dword [0x491ed4], edx
cmp eax, ecx
jg 0x431ada
mov eax, dword [0x491ac8]
and eax, 0x4b2a4a30
mov dword [0x491ac8], eax
jmp 0x431ae9
mov eax, dword [0x491660]
and eax, 0x54c2a7c2
mov dword [0x491660], eax
mov dword [esp + 0x120], 0
mov eax, dword [0x491a60]
xor eax, 0x55dd5faf
mov dword [0x491a60], eax
mov dword [0x4924ac], 0x94
mov eax, dword [0x491a70]
mov cx, word [0x492078]
movsx edx, cx
not edx
mov esi, dword [0x491c38]
shl esi, 3
and edx, esi
or eax, edx
cmp eax, 0x11780852
jl 0x431b45
mov eax, dword [0x4919b8]
add eax, 0x7fe5f9ef
mov dword [0x4919b8], eax
mov eax, dword [0x491360]
mov ecx, esp
mov dword [ecx], 0x4924ac
call eax
sub esp, 4
mov ecx, dword [0x491cc4]
inc ecx
mov dword [0x491cc4], ecx
mov edx, dword [0x491d68]
mov esi, edx
dec esi
mov dword [0x491d68], esi
imul ecx, edx
mov edx, dword [0x491670]
sub edx, ecx
mov dword [0x491670], edx
mov dword [esp + 0x114], eax
call fcn.0044f550
mov dword [0x492dfc], eax
mov di, word [0x492288]
mov ax, di
and eax, 0x6503
mov di, ax
mov word [0x492288], di
call fcn.0040afa0
mov dword [0x492e00], eax
mov eax, dword [0x4918c8]
mov ecx, eax
dec ecx
mov dword [0x4918c8], ecx
mov ecx, dword [0x491880]
imul ecx, eax
mov dword [0x491880], ecx
mov eax, dword [0x492dfc]
cmp eax, 0
je 0x431ea3
mov eax, dword [0x491b64]
and eax, 0xb5f90403
mov dword [0x491b64], eax
mov eax, esp
lea ecx, [esp + 0x131]
mov dword [eax], ecx
call fcn.00438330
mov dword [esp + 0x12c], eax
mov eax, dword [0x491630]
and eax, 0xfff2edcf
mov dword [0x491630], eax
mov eax, dword [esp + 0x12c]
mov byte [esp + eax + 0x131], 0x5c
mov eax, dword [0x491e80]
and eax, 0xdec74525
mov ecx, dword [0x491508]
add ecx, 0x28089911
mov edx, dword [0x4918c8]
mov esi, edx
dec esi
mov dword [0x4918c8], esi
add ecx, edx
cmp eax, ecx
jle 0x431c65
mov eax, dword [0x491560]
add eax, 0x4938dd1
mov dword [0x491560], eax
mov eax, 0x6463ffef
mov ecx, dword [esp + 0x12c]
inc ecx
mov dword [esp + 0x12c], ecx
mov ecx, dword [0x491a84]
mov edx, ecx
inc edx
mov dword [0x491a84], edx
mov si, word [0x492092]
mov dx, si
dec edx
mov di, dx
mov word [0x492092], di
movsx edx, si
xor ecx, edx
cmp eax, ecx
jg 0x431cb3
mov word [0x492348], 0xdb45
mov eax, 0x90d39987
mov ecx, dword [esp + 0x12c]
mov byte [esp + ecx + 0x131], 0
mov ecx, dword [0x491ba4]
mov edx, 0x55ae9cc8
sub edx, ecx
xor edx, 0x5b7b
mov si, word [0x4920b2]
mov cx, si
sub ecx, edx
mov si, cx
mov word [0x4920b2], si
mov ecx, dword [0x492e40]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x131]
mov dword [edx], ecx
mov dword [esp + 0x110], eax
call fcn.00455380
mov ecx, dword [0x491690]
mov si, word [0x491fd0]
mov dx, si
dec edx
mov di, dx
mov word [0x491fd0], di
movsx edx, si
sub ecx, edx
mov edx, dword [esp + 0x110]
cmp edx, ecx
mov dword [esp + 0x10c], eax
jle 0x431d97
mov eax, dword [0x491814]
mov ecx, eax
inc ecx
mov dword [0x491814], ecx
mov ecx, dword [0x491674]
sar ecx, 6
add ecx, 0xfb44dfff
and ecx, 0x73a23809
cmp eax, ecx
jge 0x431d92
mov eax, 0x7290a886
mov cx, word [0x491fe8]
movsx edx, cx
cmp eax, edx
jge 0x431d8d
jmp 0x431d8d
jmp 0x431d92
jmp 0x431dad
mov eax, dword [0x491994]
shl eax, 9
mov ecx, dword [0x491ac8]
xor ecx, eax
mov dword [0x491ac8], ecx
mov eax, dword [0x4913a8]
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov dword [esp + 0x108], edx
call eax
sub esp, 8
mov ecx, dword [0x4916f4]
mov edx, dword [0x4914d4]
mov esi, edx
add esi, 0x6fc9b015
xor ecx, esi
dec edx
mov dword [0x4914d4], edx
not ecx
mov dword [0x491528], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x15a3
mov dword [esp + 0x104], eax
call fcn.004066f0
mov dword [esp + 0x5bc], eax
mov eax, dword [0x491e9c]
imul eax, eax, 0xccc3788e
mov dword [0x491e9c], eax
mov eax, dword [esp + 0x5bc]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x108]
mov dword [ecx], eax
call fcn.00455380
mov di, word [0x491f42]
mov cx, di
inc ecx
mov bx, cx
mov word [0x491f42], bx
movsx ecx, di
mov edx, dword [0x49164c]
xor ecx, edx
xor ecx, 0x4d416ee2
mov dword [0x49164c], ecx
mov ecx, dword [esp + 0x5bc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x100], eax
call fcn.004260a0
mov eax, dword [0x491c28]
mov ecx, eax
dec ecx
mov dword [0x491c28], ecx
mov dword [0x491e58], eax
jmp 0x431f39
mov eax, 0x38b6eafa
mov cx, word [0x491fe0]
mov dx, cx
and edx, 0x9238
mov cx, dx
mov word [0x491fe0], cx
mov byte [esp + 0x131], 0
mov edx, dword [0x4917b0]
sub edx, 0x5431219d
cmp eax, edx
jle 0x431f01
mov eax, dword [0x491b68]
inc eax
mov dword [0x491b68], eax
and eax, 0xaa84a745
mov ecx, dword [0x491938]
add ecx, eax
mov dword [0x491938], ecx
jmp 0x431f34
mov eax, dword [0x491b64]
mov ecx, eax
dec ecx
mov dword [0x491b64], ecx
mov dx, word [0x492120]
mov cx, dx
lea eax, [eax + ecx - 1]
mov dx, word [0x4921b6]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x4921b6], dx
jmp 0x431f39
mov eax, 0x7cc16779
mov ecx, dword [0x491a34]
add ecx, 0x853c8d89
cmp eax, ecx
je 0x431f61
mov eax, dword [0x491f1c]
and eax, 0xd4a63cfa
mov dword [0x491f1c], eax
mov eax, 0x4f3568aa
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x314
mov dword [esp + 0xfc], eax
call fcn.004066f0
mov dword [esp + 0x5b8], eax
mov eax, dword [0x491c88]
mov ecx, dword [0x491eb4]
and eax, ecx
or eax, 0x82089572
mov ecx, dword [esp + 0xfc]
cmp ecx, eax
jne 0x431ff8
mov eax, 0x6778796c
mov ecx, dword [0x4917cc]
sar ecx, 3
cmp eax, ecx
jl 0x431ff3
mov ax, word [0x4923d8]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4923d8], ax
and ecx, 0x623
or ecx, 0xb15c
mov ax, word [0x4922ec]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x4922ec], ax
jmp 0x431ff8
mov eax, 0xaf11fd57
mov ecx, dword [esp + 0x5b8]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x580]
mov dword [esp + 0xf8], eax
call fcn.0044c400
sub esp, 4
mov ecx, dword [0x491d20]
shl ecx, 8
sub ecx, 0xabe3c46c
add ecx, 0xbb359d0
mov edx, dword [esp + 0xf8]
cmp edx, ecx
mov dword [esp + 0xf4], eax
jle 0x43205e
mov eax, dword [0x49186c]
imul eax, eax, 0x66195507
mov dword [0x49186c], eax
jmp 0x43206d
mov eax, dword [0x491a58]
add eax, 0xbb12f9b4
mov dword [0x491a58], eax
lea eax, [esp + 0x580]
lea ecx, [esp + 0x131]
mov edx, dword [esp + 0x5b8]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0xf0], eax
mov dword [esp + 0xec], ecx
call fcn.004260a0
mov eax, dword [0x491b54]
xor eax, 0x40920bbc
mov dword [0x491b54], eax
mov eax, dword [esp + 0xf0]
mov ecx, eax
call fcn.004500b0
lea ecx, [esp + 0x580]
mov dword [esp + 0xe8], eax
call fcn.0044bd10
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0xe4], ecx
call fcn.00447440
cmp eax, 0
je 0x4321f3
mov ax, word [0x4921ac]
movsx ecx, ax
mov ax, word [0x492230]
mov dx, ax
dec edx
mov ax, dx
mov word [0x492230], ax
movsx edx, ax
add edx, 0xb112dacd
or ecx, edx
mov edx, dword [0x491e14]
or edx, ecx
mov dword [0x491e14], edx
mov dword [esp + 0x120], 1
mov ecx, dword [0x4916e0]
add ecx, 0xffff4ae9
mov dword [0x4916e0], ecx
mov ecx, dword [0x491334]
mov edx, esp
lea esi, [esp + 0x131]
mov dword [edx], esi
mov dword [esp + 0xe0], esi
call ecx
sub esp, 4
mov ecx, dword [0x491b90]
and ecx, 0x3f5998d
mov dword [0x491b90], ecx
mov ecx, dword [esp + 0x12c]
mov byte [esp + ecx + 0x131], 0
mov ecx, dword [0x4918b4]
or ecx, 0x14a2cf31
mov edx, dword [0x49191c]
and edx, ecx
mov dword [0x49191c], edx
mov ecx, dword [0x4913ac]
mov edx, esp
mov esi, dword [esp + 0xe0]
mov dword [edx], esi
mov dword [esp + 0xdc], eax
call ecx
sub esp, 4
mov ecx, dword [0x491cec]
add ecx, 0xd5f645
mov edx, dword [0x4919f0]
and edx, ecx
mov dword [0x4919f0], edx
mov dword [esp + 0xd8], eax
mov eax, dword [0x491d38]
or eax, 0xb501c807
mov dword [0x491d38], eax
mov eax, esp
lea ecx, [esp + 0x131]
mov dword [eax], ecx
mov dword [esp + 0xd4], ecx
call fcn.00438330
mov dx, word [0x492108]
mov cx, dx
and ecx, 0x14cf
mov dx, cx
mov word [0x492108], dx
mov byte [esp + 0x134], 0
mov ecx, dword [0x49193c]
inc ecx
mov dword [0x49193c], ecx
mov esi, dword [0x4914bc]
and esi, ecx
mov dword [0x4914bc], esi
mov ecx, dword [0x492e40]
mov esi, esp
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esi], ecx
mov dword [esp + 0xd0], eax
call fcn.00455380
mov ecx, dword [0x491e7c]
add ecx, 0x200dc09a
mov dword [0x491e7c], ecx
mov ecx, dword [0x4913a8]
mov esi, esp
mov edi, dword [esp + 0xd4]
mov dword [esi], edi
mov dword [esi + 4], 0
mov dword [esp + 0xcc], eax
call ecx
sub esp, 8
mov dx, word [0x49223e]
mov cx, dx
add ecx, 0xbb240e20
mov dx, cx
mov word [0x49223e], dx
mov ecx, esp
mov esi, dword [esp + 0xd4]
mov dword [ecx + 4], esi
mov dword [ecx], 0x4926b8
mov dword [esp + 0xc8], eax
call fcn.00455370
mov ecx, dword [0x49164c]
dec ecx
mov dword [0x49164c], ecx
mov esi, dword [0x4918cc]
imul esi, esi, 0xa4fb8300
and ecx, esi
mov esi, dword [0x49195c]
imul esi, ecx
mov dword [0x49195c], esi
cmp dword [esp + 0x120], 0
mov dword [esp + 0xc4], eax
jne 0x432355
mov dword [0x491c6c], 0x88068100
mov dword [0x492df8], 0
mov eax, dword [0x491b48]
imul eax, eax, 0x92cd7233
xor eax, 0x3e76617d
mov ecx, dword [0x4916c0]
add ecx, eax
mov dword [0x4916c0], ecx
mov eax, 0x39018c50
mov cx, word [0x492124]
mov dx, cx
mov esi, edx
inc esi
mov cx, si
mov word [0x492124], cx
mov esi, 0x9e82bd33
sub esi, edx
mov cx, word [0x492282]
mov dx, cx
add edx, esi
mov cx, dx
mov word [0x492282], cx
mov edx, esp
lea esi, [esp + 0x131]
mov dword [edx], esi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], esi
call fcn.0042a6a0
mov dword [esp + 0x12c], eax
mov eax, dword [0x491d70]
and eax, 0x10140d4d
mov dword [0x491d70], eax
mov eax, dword [0x4913a8]
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 [0x491c90]
or edx, 0x6a78d11d
mov dword [0x491c90], edx
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x15a3
mov dword [esp + 0xb8], eax
call fcn.004066f0
mov dword [esp + 0x5b4], eax
mov eax, dword [0x4915c0]
mov edx, eax
dec edx
mov dword [0x4915c0], edx
sub eax, 0x34bab066
sub eax, 0x34766953
mov edx, dword [esp + 0xc0]
cmp edx, eax
jle 0x432457
mov eax, dword [0x491718]
imul eax, eax, 0x6c6c10fe
or eax, 0x2e21c8a5
mov ecx, dword [0x4917e4]
add ecx, eax
mov dword [0x4917e4], ecx
mov eax, dword [esp + 0x5b4]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x131]
mov dword [ecx], eax
call fcn.00455380
mov dword [0x491d60], 0x78007a55
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x314
mov dword [esp + 0xb4], eax
call fcn.004066f0
mov dword [esp + 0x5b0], eax
mov eax, dword [0x491a48]
mov ecx, eax
inc ecx
mov dword [0x491a48], ecx
add eax, 0x810a9f8c
mov ecx, dword [0x491544]
mov edx, 0xa3f775df
sub edx, ecx
mov si, word [0x4920e8]
movsx ecx, si
sub edx, ecx
cmp eax, edx
jl 0x4324e5
mov eax, dword [0x491af0]
and eax, 0xcffefd6d
mov dword [0x491af0], eax
jmp 0x4324f4
mov eax, dword [0x491c38]
and eax, 0x92671eca
mov dword [0x491c38], eax
mov eax, 0x90483481
mov ecx, dword [esp + 0x5b4]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xb0], eax
call fcn.004260a0
mov si, word [0x492112]
movsx eax, si
imul eax, eax, 0x3554461f
imul eax, eax, 0xf398b0d8
mov ecx, dword [esp + 0xb0]
cmp ecx, eax
jl 0x43255e
mov eax, dword [0x49187c]
mov ecx, 0xd7e2ac23
sub ecx, eax
mov dx, word [0x492428]
mov ax, dx
add eax, ecx
mov dx, ax
mov word [0x492428], dx
lea eax, [esp + 0x580]
lea ecx, [esp + 0x131]
mov edx, dword [esp + 0x5b0]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x580]
mov dword [esp + 0xac], ecx
mov ecx, edx
mov dword [esp + 0xa8], eax
call fcn.0044c400
sub esp, 4
mov di, word [0x49214a]
movsx ecx, di
mov edx, dword [0x491b50]
imul edx, ecx
mov dword [0x491b50], edx
mov ecx, dword [esp + 0x5b0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0xa4], eax
call fcn.004260a0
mov eax, dword [0x491cec]
and eax, 0x8f7935fc
mov dword [0x491c84], eax
mov eax, dword [esp + 0xa8]
mov ecx, eax
call fcn.004500b0
lea ecx, [esp + 0x580]
mov dword [esp + 0xa0], eax
call fcn.0044bd10
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.00447440
cmp eax, 0
jne 0x4332d7
mov eax, dword [0x491694]
or eax, 0xc8ea
mov cx, word [0x492418]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x492418], cx
cmp dword [0x4924b0], 6
jb 0x432770
mov eax, dword [0x491e00]
imul eax, eax, 0x83f4e3a0
mov dword [0x491e00], eax
mov eax, esp
mov dword [eax + 4], 0x12
mov dword [eax], 0x24ed
call fcn.004066f0
mov dword [esp + 0x5ac], eax
mov cx, word [0x49246c]
movsx eax, cx
imul eax, eax, 0x608ca0d4
add eax, 0xb4e2f4b
mov edx, dword [0x49184c]
mov esi, dword [0x491a18]
add esi, 0x55d46ba9
and edx, esi
cmp eax, edx
jne 0x4326d0
mov eax, dword [0x491880]
or eax, 0x1c791a77
mov dword [0x491880], eax
mov eax, 0x1d308bbf
mov ecx, dword [esp + 0x5ac]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x131]
mov dword [edx], ecx
mov dword [edx + 8], 0x492540
mov dword [esp + 0x98], eax
call fcn.00455947
mov ecx, dword [0x491c6c]
shl ecx, 4
add ecx, 0x4065b3b4
mov dword [0x491990], ecx
mov ecx, dword [esp + 0x5ac]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x12
mov dword [esp + 0x94], eax
call fcn.004260a0
mov eax, dword [0x491c04]
mov ecx, eax
inc ecx
mov dword [0x491c04], ecx
mov ecx, dword [0x491764]
inc ecx
mov dword [0x491764], ecx
add eax, ecx
mov ecx, dword [esp + 0x98]
cmp ecx, eax
jl 0x43276b
mov eax, dword [0x4919fc]
xor eax, 0x9a9e2d14
mov dword [0x4919fc], eax
jmp 0x4328bc
mov ax, word [0x492388]
mov cx, ax
mov ax, word [0x4923b4]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x4923b4], ax
mov ecx, esp
mov dword [ecx + 4], 0x24
mov dword [ecx], 0xdce
call fcn.004066f0
mov dword [esp + 0x5a8], eax
mov eax, dword [0x491b08]
inc eax
mov dword [0x491b08], eax
cmp eax, 0x440a4
jg 0x43281e
mov ax, word [0x491f6a]
movsx ecx, ax
or ecx, 0xfb478ac
mov ax, word [0x4923e2]
movsx edx, ax
mov ax, word [0x4921da]
movsx esi, ax
add edx, esi
mov ax, word [0x49243e]
mov si, ax
dec esi
mov ax, si
mov word [0x49243e], ax
movsx esi, ax
and edx, esi
cmp ecx, edx
jne 0x432819
mov eax, dword [0x491510]
add eax, 0x640c32ad
mov ecx, dword [0x4919d8]
and ecx, eax
mov dword [0x4919d8], ecx
jmp 0x43281e
mov eax, 0x6d4731cd
mov ecx, dword [esp + 0x5a8]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x131]
mov dword [edx], ecx
mov dword [edx + 8], 0x492540
mov dword [esp + 0x90], eax
call fcn.00455947
mov ecx, dword [0x491954]
and ecx, 0x5a9acc0f
mov edx, dword [esp + 0x90]
cmp edx, ecx
mov dword [esp + 0x8c], eax
jne 0x432885
mov ax, word [0x491f48]
mov cx, ax
and ecx, 0xc4d3
mov ax, cx
mov word [0x491f48], ax
mov eax, dword [esp + 0x5a8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x24
call fcn.004260a0
mov eax, dword [0x4917ec]
add eax, 0x40f4fbef
mov dx, word [0x491f56]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x491f56], dx
mov eax, 0x27bb6fdf
mov cx, word [0x4922ce]
mov dx, cx
xor edx, 0x4481
mov cx, dx
mov word [0x4922ce], cx
mov byte [esp + 0x57f], 0
mov cx, word [0x492084]
mov dx, cx
inc edx
mov si, dx
mov word [0x492084], si
movsx edx, cx
imul edx, edx, 0x781af28e
cmp eax, edx
je 0x43291d
mov eax, dword [0x4916d8]
xor eax, 0x7554f1cb
mov dword [0x4916d8], eax
jmp 0x432930
mov eax, dword [0x491800]
mov ecx, dword [0x491a9c]
and ecx, eax
mov dword [0x491a9c], ecx
mov eax, dword [0x492e40]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x131]
mov dword [ecx], eax
call fcn.00455380
mov ecx, dword [0x4915c8]
or ecx, 0x5a5e3227
and ecx, 0xdefff667
mov edx, dword [0x4916f8]
and edx, 0xf082c2da
cmp ecx, edx
mov dword [esp + 0x88], eax
jg 0x43298e
mov eax, dword [0x491cc8]
dec eax
mov dword [0x491cc8], eax
mov ecx, dword [0x491eac]
or ecx, eax
mov dword [0x491eac], ecx
mov eax, 0x7fe5ff2f
mov ecx, dword [0x4913a8]
mov edx, esp
lea esi, [esp + 0x131]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], esi
call ecx
sub esp, 8
mov ecx, dword [0x491ad8]
add ecx, 0x96297b27
xor ecx, 0x179f2533
mov edx, dword [0x491af8]
sub edx, ecx
mov dword [0x491af8], edx
mov ecx, esp
mov edx, dword [esp + 0x80]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4926b8
mov dword [esp + 0x7c], eax
call fcn.00455370
mov ecx, dword [0x491ad4]
mov edx, ecx
dec edx
mov dword [0x491ad4], edx
mov edx, dword [0x491e30]
inc edx
mov dword [0x491e30], edx
or ecx, edx
mov edx, dword [esp + 0x84]
cmp edx, ecx
mov dword [esp + 0x78], eax
jg 0x432a4e
mov eax, dword [0x49195c]
mov ecx, eax
dec ecx
mov dword [0x49195c], ecx
mov dx, word [0x4921e6]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4921e6], dx
mov eax, esp
lea ecx, [esp + 0x131]
mov dword [eax], ecx
call fcn.0042a6a0
mov dword [esp + 0x12c], eax
mov dx, word [0x491f8a]
movsx eax, dx
mov dx, word [0x492380]
mov cx, dx
dec ecx
mov si, cx
mov word [0x492380], si
movsx ecx, dx
xor ecx, 0xf9de6869
or ecx, 0xc007274d
cmp eax, ecx
jne 0x432ab8
mov eax, dword [0x491730]
or eax, 0xc11ce79
mov ecx, dword [0x49178c]
add ecx, eax
mov dword [0x49178c], ecx
jmp 0x432ad6
mov eax, dword [0x491e04]
imul eax, eax, 0x75dcd71c
and eax, 0xcbf6e984
mov ecx, dword [0x4918c8]
add ecx, eax
mov dword [0x4918c8], ecx
mov eax, 0xfa9f76
mov ecx, dword [0x4913a8]
mov edx, esp
lea esi, [esp + 0x131]
mov dword [edx], esi
mov dword [edx + 4], 0
mov dword [esp + 0x74], eax
call ecx
sub esp, 8
mov ecx, dword [0x491d54]
mov edx, ecx
inc edx
mov dword [0x491d54], edx
mov edx, dword [esp + 0x74]
cmp edx, ecx
mov dword [esp + 0x70], eax
jne 0x432b4a
mov eax, 0x4ffbeff7
mov ecx, dword [0x491ecc]
mov edx, dword [0x491810]
xor ecx, edx
cmp eax, ecx
je 0x432b45
mov eax, dword [0x491b7c]
add eax, 0x501a2d70
mov dword [0x491b7c], eax
jmp 0x432b4a
mov eax, esp
mov dword [eax + 4], 0x1f
mov dword [eax], 0x15a3
call fcn.004066f0
mov dword [esp + 0x5a4], eax
mov cx, word [0x49217c]
mov ax, cx
or eax, 0x5d36
mov cx, ax
mov word [0x49217c], cx
mov eax, dword [esp + 0x5a4]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x131]
mov dword [edx], eax
call fcn.00455380
mov edx, dword [0x491ce0]
mov esi, dword [0x491c64]
imul esi, edx
mov dword [0x491c64], esi
mov edx, esp
mov dword [edx + 4], 0x1f
mov dword [edx], 0x314
mov dword [esp + 0x6c], eax
call fcn.004066f0
mov dword [esp + 0x5a0], eax
mov eax, dword [0x491c8c]
cmp eax, 0xd0a00404
jl 0x432c17
mov eax, 0x6cf437b9
mov ecx, dword [0x491a60]
cmp eax, ecx
jle 0x432c03
mov eax, dword [0x491994]
add eax, 0x13c0c1c4
mov dword [0x491994], eax
jmp 0x432c12
mov eax, dword [0x491944]
add eax, 0x568658b0
mov dword [0x491944], eax
jmp 0x432c26
mov eax, dword [0x49172c]
xor eax, 0xdbc74c39
mov dword [0x49172c], eax
lea eax, [esp + 0x580]
lea ecx, [esp + 0x131]
mov edx, dword [esp + 0x5a4]
mov esi, esp
mov dword [esi + 4], edx
mov dword [esi], 0x1f
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
call fcn.004260a0
mov di, word [0x491f80]
mov ax, di
or eax, 0xee2b
mov di, ax
mov word [0x491f80], di
mov eax, dword [esp + 0x5a0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x580]
call fcn.0044c400
sub esp, 4
mov ecx, dword [0x491520]
imul ecx, ecx, 0xd837f148
mov dword [0x491520], ecx
mov ecx, dword [esp + 0x5a0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x60], eax
call fcn.004260a0
mov eax, dword [0x4915d4]
xor eax, 0xbabfdf7f
mov dword [0x4915d4], eax
mov eax, dword [esp + 0x68]
mov ecx, eax
call fcn.004500b0
lea ecx, [esp + 0x580]
mov dword [esp + 0x5c], eax
call fcn.0044bd10
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x58], ecx
call fcn.00447440
cmp eax, 0
jne 0x4332c8
mov eax, dword [0x491aa4]
add eax, 0x5c399f4
mov dword [0x491aa4], eax
mov eax, dword [0x491350]
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
mov dword [esp + 0x54], edx
call eax
sub esp, 8
mov si, word [0x49234a]
mov cx, si
xor ecx, 0x1050
or ecx, 0xe4ad
mov si, word [0x492184]
mov dx, si
xor edx, ecx
mov si, dx
mov word [0x492184], si
mov ecx, esp
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
mov dword [esp + 0x50], eax
call fcn.00452220
mov dword [esp + 0x12c], eax
mov si, word [0x492294]
mov ax, si
xor eax, 0x6280
mov si, ax
mov word [0x492294], si
mov eax, dword [esp + 0x12c]
add eax, 0xfffffffe
mov dword [esp + 0x12c], eax
mov eax, dword [0x491ce8]
add eax, 0x3d373bff
mov dword [0x491ce8], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x128], eax
cmp dword [esp + 0x128], 0
jle 0x432ee9
mov eax, dword [0x491c70]
shl eax, 4
xor eax, 0xc0c08800
or eax, 0x3f1277bd
mov ecx, dword [0x491498]
sub ecx, eax
mov dword [0x491498], ecx
mov eax, dword [esp + 0x128]
movsx eax, byte [esp + eax + 0x131]
cmp eax, 0x5c
jne 0x432ec9
mov eax, 0x7ed7faf9
mov ecx, dword [0x491ae0]
add ecx, 0x43ea8ec0
mov dword [0x491ae0], ecx
mov ecx, dword [esp + 0x128]
inc ecx
mov dword [esp + 0x128], ecx
mov ecx, dword [0x491c6c]
dec ecx
mov dword [0x491c6c], ecx
mov dx, word [0x49238e]
mov si, dx
dec esi
mov di, si
mov word [0x49238e], di
movsx esi, dx
mov ebx, dword [0x491584]
sar ebx, 6
imul esi, ebx
xor ecx, esi
cmp eax, ecx
jg 0x432e83
mov eax, dword [0x491c58]
mov ecx, dword [0x491820]
and ecx, eax
mov dword [0x491820], ecx
mov eax, dword [esp + 0x128]
mov byte [esp + eax + 0x131], 0
mov dword [0x4919fc], 0xeca82a34
mov eax, dword [esp + 0x128]
mov dword [esp + 0x12c], eax
mov cx, word [0x491ff6]
mov ax, cx
imul eax, eax, 0x7b7d8a21
mov cx, ax
mov word [0x491ff6], cx
jmp 0x432ee9
mov dword [0x491df0], 0x5dffffc9
mov eax, dword [esp + 0x128]
add eax, 0xffffffff
mov dword [esp + 0x128], eax
jmp 0x432dc9
mov eax, dword [0x491d5c]
mov ecx, dword [0x491934]
sub eax, ecx
mov ecx, dword [0x4919f4]
shl ecx, 4
or eax, ecx
mov dword [0x491b68], eax
mov eax, esp
lea ecx, [esp + 0x131]
mov dword [eax + 4], ecx
mov dword [eax], 0x4926b8
call fcn.00455370
mov ecx, dword [0x4917bc]
mov edx, ecx
inc edx
mov dword [0x4917bc], edx
xor ecx, 0xb9ae5fb0
cmp ecx, 0xaea7cfef
mov dword [esp + 0x4c], eax
je 0x432f60
mov eax, dword [0x4919c8]
mov ecx, 0xe1de42bc
sub ecx, eax
and ecx, 0x481d55b3
mov eax, dword [0x491a9c]
xor eax, ecx
mov dword [0x491a9c], eax
lea eax, [esp + 0x580]
lea ecx, [esp + 0x131]
mov edx, esp
lea esi, [esp + 0x131]
mov dword [edx], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], esi
call fcn.0042a6a0
mov dword [esp + 0x12c], eax
mov eax, dword [0x49166c]
not eax
mov ecx, dword [0x491924]
sub eax, ecx
mov ecx, dword [0x491594]
xor ecx, eax
mov dword [0x491594], ecx
mov eax, dword [0x4913a8]
mov ecx, esp
mov edx, dword [esp + 0x40]
mov dword [ecx], edx
mov dword [ecx + 4], 0
call eax
sub esp, 8
mov ecx, dword [0x491744]
mov edx, dword [0x491bf0]
sub edx, ecx
mov dword [0x491bf0], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x15a3
mov dword [esp + 0x3c], eax
call fcn.004066f0
mov dword [esp + 0x59c], eax
mov di, word [0x4923b4]
mov ax, di
imul eax, eax, 0xf2f50319
mov di, ax
mov word [0x4923b4], di
mov eax, dword [esp + 0x59c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x40]
mov dword [ecx], eax
call fcn.00455380
mov di, word [0x4923fe]
movsx ecx, di
not ecx
mov edx, dword [0x491c3c]
imul edx, ecx
mov dword [0x491c3c], edx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x314
mov dword [esp + 0x38], eax
call fcn.004066f0
mov dword [esp + 0x598], eax
mov eax, dword [0x491760]
xor eax, 0xcb1a5836
mov dword [0x491760], eax
mov eax, dword [esp + 0x59c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x1f
call fcn.004260a0
mov di, word [0x4922a2]
mov ax, di
add eax, 0xe6ff9b6c
mov di, ax
mov word [0x4922a2], di
mov eax, dword [esp + 0x598]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x580]
call fcn.0044c400
sub esp, 4
mov ecx, dword [0x491a5c]
imul ecx, ecx, 0x59ccac4d
mov dword [0x491a5c], ecx
mov ecx, dword [esp + 0x598]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x34], eax
call fcn.004260a0
mov eax, dword [0x4917e4]
imul eax, eax, 0x3cfaaf8d
mov dword [0x4917e4], eax
mov eax, dword [esp + 0x48]
mov ecx, eax
call fcn.004500b0
lea ecx, [esp + 0x580]
mov dword [esp + 0x30], eax
call fcn.0044bd10
mov ecx, 0x9a47605
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x9a47605
mov dword [esp + 0x2c], ecx
call fcn.00447440
cmp eax, 0
jne 0x433290
mov eax, dword [0x491e3c]
and eax, 0xa9004
or eax, 0xdef56de1
mov ecx, dword [0x491780]
and ecx, eax
mov dword [0x491780], ecx
mov eax, dword [0x491350]
mov ecx, esp
lea edx, [esp + 0x131]
mov dword [ecx + 4], edx
mov dword [ecx], 0x104
mov dword [esp + 0x28], edx
call eax
sub esp, 8
mov ecx, dword [0x491540]
add ecx, 0x75286f74
mov dword [0x491540], ecx
mov ecx, esp
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
mov dword [ecx], 0x4926b8
mov dword [esp + 0x24], eax
call fcn.00455370
mov ecx, dword [0x491dcc]
and ecx, 0xe7dd8a85
mov dword [0x491c10], ecx
mov ecx, esp
mov dword [ecx + 4], 0x1f
mov dword [ecx], 0x15a3
mov dword [esp + 0x20], eax
call fcn.004066f0
mov dword [esp + 0x594], eax
mov eax, dword [0x4914bc]
imul eax, eax, 0x407afa5b
mov ecx, dword [0x491dd4]
inc ecx
mov dword [0x491dd4], ecx
and ecx, 0xe78f997c
xor ecx, 0xbaf77ade
cmp eax, ecx
je 0x433224
mov ax, word [0x492380]
mov cx, ax
imul ecx, ecx, 0x9310018
mov ax, cx
mov word [0x492380], ax
mov eax, dword [esp + 0x594]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x131]
mov dword [ecx], eax
call fcn.00455380
mov ecx, dword [0x491540]
and ecx, 0x7773886a
mov dword [0x491540], ecx
mov ecx, dword [esp + 0x594]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x1f
mov dword [esp + 0x1c], eax
call fcn.004260a0
mov si, word [0x491f2e]
movsx eax, si
sar eax, 3
and eax, 0x921da10d
or eax, 0xd425ed0
mov ecx, dword [0x491d24]
xor ecx, eax
mov dword [0x491d24], ecx
mov eax, 0x1f290030
mov ecx, dword [0x491d38]
mov edx, ecx
dec edx
mov dword [0x491d38], edx
cmp eax, ecx
jl 0x4332c3
mov ax, word [0x492296]
movsx ecx, ax
mov edx, dword [0x491668]
xor edx, ecx
mov dword [0x491668], edx
jmp 0x4332c8
mov eax, dword [0x491618]
or eax, 0x94c20060
mov dword [0x491618], eax
mov eax, dword [0x491784]
mov ecx, 0xa15412bb
sub ecx, eax
mov eax, dword [0x491c58]
sub eax, ecx
mov dword [0x491c58], eax
mov eax, esp
lea ecx, [esp + 0x131]
mov dword [eax], ecx
mov dword [esp + 0x18], ecx
call fcn.0042a6a0
mov ecx, dword [0x491798]
imul ecx, ecx, 0x50605040
mov dword [0x491798], ecx
mov ecx, dword [0x49135c]
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 ecx, dword [0x4915b8]
and ecx, 0xaa5daa83
mov dword [0x4915b8], ecx
mov ecx, esp
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
mov dword [ecx + 4], 0x44f
mov dword [esp + 0x10], eax
call fcn.004333b0
mov word [0x4923b4], 0x2429
lea ecx, [esp + 0x580]
call fcn.00417c50
add esp, 0x5c0
pop esi
pop edi
pop ebx
ret