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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xba0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [esp + 0xb98], eax
mov dword [esp + 0xb94], ecx
mov dword [esp + 0xb90], edx
mov dword [esp + 0xb8c], esi
mov dword [esp + 0xb88], edi
mov eax, dword [0x49ec08]
mov ecx, eax
dec ecx
mov dword [0x49ec08], ecx
add eax, 0xb5757a52
xor eax, 0x86936282
cmp eax, 0xe66522a0
jg 0x402e46
mov ax, word [0x4a00c2]
movsx ecx, ax
add ecx, 0x742e3a93
mov edx, dword [0x49edd0]
sub edx, ecx
mov dword [0x49edd0], edx
jmp 0x402e65
mov eax, dword [0x49e6a4]
lea eax, [eax + eax + 0x3bc7fb71]
and eax, 0xad6df21c
mov ecx, dword [0x49eb48]
sub ecx, eax
mov dword [0x49eb48], ecx
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x88b7
call fcn.00448630
mov dword [esp + 0xb84], eax
mov eax, dword [0x49f950]
sar eax, 0xa
mov ecx, dword [0x49dfd0]
add ecx, eax
mov dword [0x49dfd0], ecx
mov eax, dword [esp + 0xb84]
mov ecx, dword [esp + 0xb88]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00455200
mov dword [esp + 0xb5c], eax
mov si, word [0x4a0032]
mov ax, si
xor eax, 0xf9fb
mov si, ax
mov word [0x4a0032], si
mov eax, dword [esp + 0xb84]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0041ee00
mov eax, dword [0x49db68]
imul eax, eax, 0x77ffb50e
mov dword [0x49db68], eax
cmp dword [esp + 0xb5c], 0
jne 0x403079
mov eax, dword [0x49e01c]
mov ecx, 0xaf321e57
sub ecx, eax
and ecx, 0xab8bbc98
mov eax, dword [0x49ee50]
add eax, ecx
mov dword [0x49ee50], eax
cmp dword [esp + 0xb98], 0
je 0x402f69
mov eax, dword [0x49dc20]
add eax, 0x5a3fcf93
mov dword [0x49dc20], eax
mov ecx, dword [esp + 0xb90]
call fcn.00401c70
mov eax, dword [0x49dc1c]
add eax, 0x1c7038ad
mov ecx, dword [0x49e798]
sub ecx, eax
mov dword [0x49e798], ecx
jmp 0x4056ff
mov eax, dword [0x49e5a0]
add eax, 0xf44b32e
mov dword [0x49e5a0], eax
mov eax, dword [esp + 0xb90]
mov ecx, dword [esp + 0xb8c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004401d0
mov dword [esp + 0xb58], eax
mov si, word [0x4a0966]
mov ax, si
dec eax
mov si, ax
mov word [0x4a0966], si
movsx eax, si
or eax, 0x3ddfed99
or eax, 0x5f315540
cmp eax, 0xa098c511
jge 0x402fde
mov ax, word [0x49fc88]
mov cx, ax
add ecx, 0x5f04dc2e
mov ax, cx
mov word [0x49fc88], ax
cmp dword [esp + 0xb58], 0
jg 0x403065
mov eax, 0xd7aafefa
mov ecx, dword [0x49ded8]
mov edx, dword [0x49eb64]
xor edx, ecx
mov dword [0x49eb64], edx
mov ecx, dword [esp + 0xb90]
mov dword [esp + 0x130], eax
call fcn.00401c70
mov si, word [0x4a0878]
movsx eax, si
mov ecx, dword [0x49f164]
inc ecx
mov dword [0x49f164], ecx
sub eax, ecx
mov ecx, dword [0x49f058]
mov edx, ecx
dec edx
mov dword [0x49f058], edx
or eax, ecx
mov ecx, dword [esp + 0x130]
cmp ecx, eax
jg 0x403060
mov eax, dword [0x49ef6c]
or eax, 0x4180bb1b
mov dword [0x49ef6c], eax
jmp 0x403065
mov eax, dword [0x49f5b0]
xor eax, 0x669eae84
mov dword [0x49f5b0], eax
jmp 0x4056ff
mov eax, 0xe89c7b8e
mov cx, word [0x4a054a]
movsx edx, cx
sar edx, 8
mov esi, dword [0x49e948]
shl esi, 8
and esi, 0x507ab30a
or edx, esi
cmp eax, edx
jne 0x4030ad
mov word [0x49f9fe], 0xb7cd
mov eax, 0xf6785e90
mov cx, word [0x4a0394]
mov dx, cx
xor edx, 0x4b6
mov cx, dx
mov word [0x4a0394], cx
mov dword [0x49e4cc], 0x4c0b0a81
mov edx, dword [0x49efdc]
sar edx, 5
or edx, 0xdfa18015
cmp eax, edx
jne 0x4030fc
mov eax, dword [0x49eb40]
add eax, 0x59509df7
mov dword [0x49eb40], eax
mov eax, 0x37d6e193
mov ecx, dword [0x49f3ac]
and ecx, 0x89bdded8
mov dword [0x49f3ac], ecx
mov ecx, dword [0x49dcac]
xor ecx, 0x22857edf
mov dword [0x49dcac], ecx
mov ecx, dword [0x49f0d0]
or ecx, 0xf11cfc84
mov dword [0x49f0d0], ecx
lea ecx, [esp + 0x6ac]
mov dword [esp + 0x12c], eax
call fcn.0042c890
mov ecx, dword [0x49dbb0]
xor ecx, 0x9f7a136f
mov dword [0x49dbb0], ecx
mov word [0x4a0178], 0xbbdf
mov dword [0x49ebc8], 0x2785d92
mov dx, word [0x49ffc2]
mov cx, dx
add ecx, 0x4c23ebec
mov dx, cx
mov word [0x49ffc2], dx
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov ecx, dword [0x49f088]
inc ecx
mov dword [0x49f088], ecx
xor ecx, 0x1bd71457
mov esi, dword [0x49e14c]
or esi, ecx
mov dword [0x49e14c], esi
mov ecx, dword [0x49ec30]
mov esi, dword [esp + 0x12c]
cmp esi, ecx
mov dword [esp + 0x128], eax
jl 0x403216
mov eax, 0x1086c360
mov cx, word [0x4a04f0]
movsx edx, cx
sub edx, 0xd4c0d270
cmp eax, edx
je 0x403211
mov ax, word [0x4a07fa]
mov cx, ax
add ecx, 0x1887185
mov ax, cx
mov word [0x4a07fa], ax
jmp 0x403226
mov eax, dword [0x49ee04]
imul eax, eax, 0x3d9450f7
mov dword [0x49ee04], eax
mov eax, 0x75a3e8f6
mov dword [esp + 0x210], 0xffffffff
mov dword [esp + 0x20c], 0xffffffff
mov cx, word [0x4a0714]
movsx edx, cx
shl edx, 7
mov esi, dword [0x49ee28]
or esi, edx
mov dword [0x49ee28], esi
mov dword [esp + 0x208], 0x50
mov edx, dword [0x49e664]
or edx, 0xbfa7aec6
mov esi, dword [0x49e304]
xor esi, edx
mov dword [0x49e304], esi
mov byte [esp + 0x207], 0
mov cx, word [0x49fec4]
mov dx, cx
dec edx
mov di, dx
mov word [0x49fec4], di
movsx edx, cx
xor edx, 0xcc5d8e60
mov esi, dword [0x49eb5c]
or esi, edx
mov dword [0x49eb5c], esi
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x124], eax
call fcn.00450b90
add eax, 0x258
adc edx, 0
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
mov eax, dword [0x49dc00]
sar eax, 3
mov edx, dword [0x49e7c8]
xor edx, 0xffffffff
mov esi, dword [esp + 0x124]
sub esi, edx
or eax, esi
cmp eax, 0x3fa50b5c
jl 0x403319
mov eax, dword [0x49f350]
mov ecx, dword [0x49f3e4]
sub ecx, eax
mov dword [0x49f3e4], ecx
mov byte [esp + 0x6e4], 0
mov eax, dword [0x49e854]
and eax, 0xffdfffff
mov dword [0x49e854], eax
mov eax, dword [esp + 0xb88]
mov ecx, esp
mov dword [ecx], eax
call fcn.00452000
mov dword [esp + 0x228], eax
mov eax, dword [0x49dfb0]
mov ecx, eax
dec ecx
mov dword [0x49dfb0], ecx
xor eax, 0x1008802
or eax, 0xf01b55dd
mov ecx, dword [0x49e364]
sub ecx, eax
mov dword [0x49e364], ecx
cmp dword [esp + 0x228], 0x7f
jle 0x403398
mov eax, dword [0x49df28]
mov ecx, 0x8a56637a
sub ecx, eax
mov eax, dword [0x49ee4c]
xor eax, ecx
mov dword [0x49ee4c], eax
jmp 0x405640
mov eax, 0xdd5b7202
mov ecx, dword [0x49ebb0]
and ecx, 0x722230a
mov edx, dword [0x49dbc0]
lea ecx, [edx + ecx + 0x7801d0f5]
mov dword [0x49dbc0], ecx
mov ecx, dword [esp + 0xb88]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xa5c]
mov dword [edx], ecx
mov dword [esp + 0x120], eax
call fcn.00455290
mov si, word [0x4a05c4]
mov cx, si
inc ecx
mov di, cx
mov word [0x4a05c4], di
movsx ecx, si
mov edx, dword [esp + 0x120]
sub edx, ecx
xor edx, 0xc412bc3c
cmp edx, 0xef640343
mov dword [esp + 0x11c], eax
jge 0x403426
mov eax, dword [0x49e524]
add eax, 0xa2510298
mov dword [0x49e524], eax
mov eax, dword [esp + 0x228]
sub eax, 1
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x228]
sub ecx, 6
cmp eax, ecx
jl 0x403569
mov dword [0x49e70c], 0x6d317b9
mov eax, dword [esp + 0x224]
movsx eax, byte [esp + eax + 0xa5c]
cmp eax, 0x3a
jne 0x403533
mov eax, dword [0x49f000]
shl eax, 3
mov ecx, dword [0x49dc10]
or eax, ecx
or eax, 0xb91b5a94
mov dword [0x49dc10], eax
mov eax, dword [esp + 0x224]
mov byte [esp + eax + 0xa5c], 0
mov eax, dword [0x49f624]
shl eax, 9
or eax, 0x65ad2884
mov ecx, dword [0x49f718]
imul ecx, eax
mov dword [0x49f718], ecx
mov eax, dword [esp + 0x224]
mov dword [esp + 0x228], eax
mov eax, dword [0x49dcd0]
shl eax, 9
add eax, 0x23b1749f
xor eax, 0xe827e51a
mov ecx, dword [0x49f160]
add ecx, eax
mov dword [0x49f160], ecx
mov eax, dword [esp + 0x224]
lea ecx, [esp + 0xa5c]
lea eax, [eax + ecx + 1]
mov ecx, esp
mov dword [ecx], eax
call fcn.004551cf
mov dword [esp + 0x208], eax
mov eax, dword [0x49f318]
inc eax
mov dword [0x49f318], eax
imul eax, eax, 0xfb4c8ed
mov dx, word [0x49fce0]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x49fce0], dx
jmp 0x403569
mov eax, dword [0x49ece4]
or eax, 0x3949
mov cx, word [0x4a07b6]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a07b6], cx
mov eax, dword [esp + 0x224]
add eax, 0xffffffff
mov dword [esp + 0x224], eax
jmp 0x403437
mov eax, dword [0x49efe4]
add eax, 0x502d1c9
mov dword [0x49efe4], eax
mov dword [esp + 0x224], 0
mov eax, dword [esp + 0x224]
cmp eax, dword [esp + 0x228]
jg 0x4037ed
mov eax, dword [0x49dccc]
shl eax, 7
xor eax, 0xb9e98617
mov ecx, dword [0x49ef5c]
sub ecx, eax
mov dword [0x49ef5c], ecx
mov eax, dword [esp + 0x224]
mov dl, byte [esp + eax + 0xa5c]
mov byte [esp + eax + 0x960], dl
mov eax, dword [0x49ef68]
mov ecx, eax
dec ecx
mov dword [0x49ef68], ecx
add eax, 0x965e40d7
mov ecx, dword [0x49da44]
and ecx, eax
mov dword [0x49da44], ecx
mov eax, dword [esp + 0x224]
movsx eax, byte [esp + eax + 0x960]
cmp eax, 0x2f
jne 0x403755
mov eax, dword [0x49f024]
or eax, 0xcc90d20e
mov dword [0x49f024], eax
mov eax, dword [esp + 0x224]
mov byte [esp + eax + 0x960], 0
mov eax, dword [0x49e320]
mov ecx, dword [0x49de90]
imul eax, ecx
imul eax, eax, 0x65f8f773
mov dword [0x49de90], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x220]
cmp eax, dword [esp + 0x228]
jg 0x403741
mov eax, dword [0x49e2d0]
and eax, 0xc5c80929
mov dword [0x49e2d0], eax
mov eax, dword [esp + 0x220]
mov cl, byte [esp + eax + 0xa5c]
mov edx, dword [esp + 0x224]
sub eax, edx
mov byte [esp + eax + 0x6e4], cl
mov eax, dword [0x49f620]
imul eax, eax, 0x7d7c63ee
mov edx, dword [0x49e290]
or edx, 0xfa5013a8
or edx, 0x6f28e7fd
cmp eax, edx
je 0x40370a
mov eax, dword [0x49e26c]
dec eax
mov dword [0x49e26c], eax
and eax, 0x2d3d38a
mov cx, word [0x4a08b0]
movsx edx, cx
not edx
mov cx, word [0x4a03e8]
movsx esi, cx
sub esi, 0x20b7c0ba
or edx, esi
cmp eax, edx
jl 0x4036f6
mov eax, dword [0x49df48]
imul eax, eax, 0x92f5a0fd
mov dword [0x49df48], eax
jmp 0x403705
mov eax, dword [0x49ef80]
add eax, 0x67956c4c
mov dword [0x49ef80], eax
jmp 0x403726
mov eax, dword [0x49dcf4]
mov ecx, eax
inc ecx
mov dword [0x49dcf4], ecx
mov ecx, dword [0x49f7e0]
add ecx, eax
mov dword [0x49f7e0], ecx
jmp 0x40372b
mov eax, dword [esp + 0x220]
add eax, 1
mov dword [esp + 0x220], eax
jmp 0x403645
mov eax, dword [0x49eff8]
add eax, 0xc67ddf36
mov dword [0x49eff8], eax
jmp 0x4037ed
mov ax, word [0x49fe2e]
movsx ecx, ax
sar ecx, 2
mov edx, dword [0x49f5cc]
inc edx
mov dword [0x49f5cc], edx
or edx, 0x692f6c1d
cmp ecx, edx
jle 0x403790
mov eax, dword [0x49e32c]
add eax, 0xf0e4df0e
mov dword [0x49e32c], eax
jmp 0x4037d2
mov ax, word [0x4a0812]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a0812], ax
movsx ecx, ax
and ecx, 0xded5bad9
xor ecx, 0x33e16016
cmp ecx, 0x2a7c80c3
jge 0x4037cd
mov eax, dword [0x49e430]
add eax, 0xa68d3fd8
mov dword [0x49e430], eax
jmp 0x4037d2
jmp 0x4037d7
mov eax, dword [esp + 0x224]
add eax, 1
mov dword [esp + 0x224], eax
jmp 0x403583
lea eax, [esp + 0x6e4]
mov ecx, dword [0x49f178]
shr ecx, 9
add ecx, 0x3f128db
and ecx, 0x4397
mov dx, word [0x4a0724]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x4a0724], dx
mov ecx, esp
mov dword [ecx], eax
call fcn.00452000
mov ecx, dword [esp + 0xb8c]
mov esi, esp
mov dword [esi], ecx
mov dword [esp + 0x118], eax
call fcn.00452000
mov ecx, dword [esp + 0x118]
add ecx, eax
cmp ecx, 0x1ff
jbe 0x403875
mov eax, dword [0x49f604]
mov ecx, eax
dec ecx
mov dword [0x49f604], ecx
mov ecx, dword [0x49da70]
sub ecx, eax
mov dword [0x49da70], ecx
jmp 0x405640
mov ax, word [0x49ff88]
movsx ecx, ax
mov edx, dword [0x49f2f0]
xor ecx, edx
xor ecx, 0x970f2c8c
mov dword [0x49f2f0], ecx
mov ecx, dword [esp + 0xb8c]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x6e4]
mov dword [edx], ecx
call fcn.004552a0
mov ecx, dword [0x49f268]
dec ecx
mov dword [0x49f268], ecx
mov edx, dword [0x49ebc8]
or edx, ecx
mov dword [0x49ebc8], edx
mov dword [esp + 0x220], 0
mov si, word [0x49fa72]
mov cx, si
or ecx, 0xdd1d
mov si, cx
mov word [0x49fa72], si
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x1099
mov dword [esp + 0x114], eax
call fcn.00448630
mov dword [esp + 0xb80], eax
mov eax, dword [0x49ebac]
add eax, 0x884a0221
mov dword [0x49ebac], eax
mov eax, dword [esp + 0xb80]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x6ac]
call fcn.00423f60
sub esp, 4
mov ecx, dword [0x49e364]
cmp ecx, 0xf7d45141
mov dword [esp + 0x110], eax
je 0x403960
mov eax, dword [0x49e254]
imul eax, eax, 0x381e5e61
mov dword [0x49e254], eax
mov eax, dword [esp + 0xb80]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041ee00
mov dx, word [0x4a0054]
mov ax, dx
inc eax
mov dx, ax
mov word [0x4a0054], dx
movsx eax, dx
mov ecx, dword [0x49dbac]
and ecx, eax
mov dword [0x49dbac], ecx
mov eax, dword [esp + 0xb90]
mov ecx, eax
call fcn.0041bdd0
cmp eax, 0
je 0x403d02
mov eax, 0x8ca5f4f3
mov dword [0x49f2ac], 0xd5bb2b1d
mov ecx, esp
mov dword [ecx + 4], 0xc
mov dword [ecx], 0x659e
mov dword [esp + 0x10c], eax
call fcn.00448630
mov dword [esp + 0xb7c], eax
mov eax, dword [0x49dfb8]
not eax
mov ecx, dword [0x49e8e4]
shl ecx, 1
sub eax, ecx
sub eax, 0xe92cb83b
mov ecx, dword [esp + 0x10c]
cmp ecx, eax
jle 0x403a57
mov eax, 0x5f3e317b
mov cx, word [0x49fb92]
movsx edx, cx
cmp eax, edx
jge 0x403a52
mov ax, word [0x4a0334]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a0334], ax
movsx ecx, ax
imul ecx, ecx, 0x33c73859
and ecx, 0xced2a2af
mov edx, dword [0x49e288]
add edx, ecx
mov dword [0x49e288], edx
jmp 0x403a57
mov ecx, dword [esp + 0xb90]
mov eax, dword [esp + 0xb7c]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x1f0]
mov dword [esp + 0x108], ecx
mov ecx, eax
mov dword [esp + 0x104], eax
call fcn.0040b6f0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x104]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x100], eax
call fcn.0043a530
sub esp, 8
mov dword [esp + 0x224], eax
mov ecx, dword [esp + 0x104]
call fcn.004219b0
mov eax, dword [0x49e844]
mov ecx, dword [0x49f350]
mov edx, ecx
dec edx
mov dword [0x49f350], edx
add eax, ecx
mov si, word [0x4a0620]
movsx ecx, si
xor ecx, 0xffffffff
add eax, ecx
cmp eax, 0x9a5df649
jne 0x403b02
mov eax, dword [0x49f5f0]
and eax, 0x9463b4c8
mov dword [0x49f5f0], eax
mov eax, dword [esp + 0xb7c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.0041ee00
mov eax, dword [0x49f868]
dec eax
mov dword [0x49f868], eax
mov ecx, dword [0x49e344]
imul eax, ecx
imul eax, eax, 0x7edc91d7
mov dword [0x49e344], eax
cmp dword [esp + 0x224], 0
jne 0x403cea
mov ax, word [0x4a0698]
movsx ecx, ax
sar ecx, 8
add ecx, 0x13252890
cmp ecx, 0x76968aab
jl 0x403bc9
mov eax, 0xaa6e3b31
mov ecx, dword [0x49dbcc]
dec ecx
mov dword [0x49dbcc], ecx
cmp eax, ecx
jge 0x403b9f
mov eax, dword [0x49dbc0]
sar eax, 9
or eax, 0x3131b026
mov ecx, dword [0x49f690]
imul ecx, eax
mov dword [0x49f690], ecx
jmp 0x403bc4
mov eax, 0xebbbf6d6
mov ecx, dword [0x49f870]
mov edx, dword [0x49f120]
and ecx, edx
cmp eax, ecx
je 0x403bbf
jmp 0x403bbf
jmp 0x403bc4
jmp 0x403bc9
mov dword [esp + 0x220], 1
mov dword [0x49e21c], 0xe85f8c3a
mov eax, dword [esp + 0xb90]
mov ecx, esp
mov dword [ecx], 0
mov ecx, eax
mov dword [esp + 0xfc], eax
call fcn.00424110
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0xb
mov ecx, dword [esp + 0xfc]
call fcn.0041f300
sub esp, 8
mov ecx, dword [0x49e854]
and ecx, 0xccd0cc46
mov dword [0x49e854], ecx
mov ecx, esp
mov dword [ecx + 4], 6
mov dword [ecx], 0x10a0
mov dword [esp + 0xf8], eax
call fcn.00448630
mov dword [esp + 0xb78], eax
mov dx, word [0x49f9e4]
movsx eax, dx
mov ecx, dword [0x49dfc0]
mov esi, ecx
dec esi
mov dword [0x49dfc0], esi
sub eax, ecx
xor eax, 0x742a5817
mov ecx, dword [0x49e178]
or ecx, eax
mov dword [0x49e178], ecx
mov eax, dword [esp + 0xb78]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x6ac]
call fcn.00423f60
sub esp, 4
mov ecx, dword [0x49ed68]
mov esi, dword [0x49dde0]
mov edi, dword [0x49eb08]
not edi
add esi, edi
or ecx, esi
mov dx, word [0x49fac8]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x49fac8], dx
mov ecx, dword [esp + 0xb78]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 6
mov dword [esp + 0xf4], eax
call fcn.0041ee00
mov dword [0x49edf8], 0x80afa087
mov ax, word [0x4a062e]
mov cx, ax
add ecx, 0x600092e1
mov ax, cx
mov word [0x4a062e], ax
mov eax, 0xd68c4593
mov ecx, dword [0x49e56c]
inc ecx
mov dword [0x49e56c], ecx
cmp eax, ecx
jne 0x403d34
mov ax, word [0x4a01a4]
mov cx, ax
xor ecx, 0x1804
mov ax, cx
mov word [0x4a01a4], ax
mov eax, 0xc856dcfd
mov ecx, esp
lea edx, [esp + 0x6e4]
mov dword [ecx], edx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xec], eax
call fcn.00419ba0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xf0]
mov dword [ecx], edx
lea ecx, [esp + 0x6ac]
mov dword [esp + 0xe8], eax
call fcn.0043c010
sub esp, 4
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xe4], eax
call fcn.0043f9b0
mov word [0x4a0172], 0x3716
mov eax, esp
mov dword [eax + 4], 0x32
mov dword [eax], 0x7ae4
call fcn.00448630
mov dword [esp + 0xb74], eax
mov eax, dword [0x49ec88]
imul eax, eax, 0x898a7400
xor eax, 0x392d32d1
mov ecx, dword [esp + 0xec]
cmp ecx, eax
je 0x403e13
mov eax, dword [0x49f0e0]
mov ecx, eax
dec ecx
mov dword [0x49f0e0], ecx
cmp eax, 0xa9f0ecf7
jge 0x403e0e
mov ax, word [0x4a05f0]
movsx ecx, ax
xor ecx, 0xefcc7d7d
mov edx, dword [0x49f5d8]
sub edx, ecx
mov dword [0x49f5d8], edx
jmp 0x403e22
mov eax, dword [0x49ebd8]
xor eax, 0xadf2e534
mov dword [0x49ebd8], eax
mov eax, dword [esp + 0xb74]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1c8]
mov ecx, eax
mov dword [esp + 0xe0], eax
call fcn.00419ba0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xe0]
mov dword [ecx], edx
lea ecx, [esp + 0x6ac]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xd8], eax
call fcn.0043c010
sub esp, 4
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xd4], eax
call fcn.0043f9b0
mov dword [0x49dfd8], 0x76e49ed
mov eax, dword [esp + 0xb74]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x32
call fcn.0041ee00
mov si, word [0x4a096c]
mov ax, si
shl eax, 6
or eax, 0xf14c
mov si, word [0x49ff2c]
mov cx, si
add ecx, eax
mov si, cx
mov word [0x49ff2c], si
mov eax, esp
lea ecx, [esp + 0x960]
mov dword [eax], ecx
lea eax, [esp + 0x1b4]
mov ecx, eax
mov dword [esp + 0xd0], eax
call fcn.00419ba0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xd0]
mov dword [ecx], edx
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xcc], eax
call fcn.0043c010
sub esp, 4
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc8], eax
call fcn.0043f9b0
mov dword [0x49daa4], 0x313f41b1
cmp dword [esp + 0x220], 0
je 0x4041ca
mov eax, dword [0x49f2c4]
add eax, 0x6518a14a
mov dword [0x49f2c4], eax
mov eax, esp
mov dword [eax + 4], 0x44
mov dword [eax], 0x2835
call fcn.00448630
mov dword [esp + 0xb70], eax
mov eax, dword [0x49e2c0]
add eax, 0x66e684aa
xor eax, 0x824ae4b7
cmp eax, 0xa61f4ee8
je 0x403fa8
mov eax, dword [0x49df44]
mov ecx, dword [0x49e300]
and eax, ecx
dec ecx
mov dword [0x49e300], ecx
and eax, 0x36a21a4e
mov ecx, dword [0x49f990]
add ecx, eax
mov dword [0x49f990], ecx
jmp 0x403fe8
mov eax, dword [0x49e398]
mov ecx, dword [0x49e88c]
sar ecx, 4
lea eax, [eax + ecx - 0x4c16d93c]
mov ecx, dword [0x49f2b4]
mov edx, ecx
dec edx
mov dword [0x49f2b4], edx
cmp eax, ecx
je 0x403fe3
mov eax, dword [0x49df80]
add eax, 0x2640b41d
mov dword [0x49df80], eax
jmp 0x403fe8
mov eax, 0x7dca22b6
mov ecx, dword [esp + 0xb70]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x1a0]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], eax
call fcn.00419ba0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xc4]
mov dword [ecx], edx
lea ecx, [esp + 0x6ac]
mov dword [esp + 0xbc], eax
call fcn.0043c010
sub esp, 4
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xb8], eax
call fcn.0043f9b0
mov eax, dword [0x49de48]
mov ecx, dword [esp + 0xc0]
cmp ecx, eax
jg 0x40406c
mov eax, dword [0x49e63c]
xor eax, 0x6de55156
mov dword [0x49e63c], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x3ba4
call fcn.00448630
mov dword [esp + 0xb6c], eax
mov cx, word [0x4a0066]
mov ax, cx
imul eax, eax, 0xb424d8db
mov cx, ax
mov word [0x4a0066], cx
mov eax, dword [esp + 0xb70]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 0x44
call fcn.0041ee00
mov eax, dword [0x49f980]
and eax, 0x62eafe78
mov dword [0x49f980], eax
mov ecx, dword [esp + 0xb90]
call fcn.0041bdd0
mov ecx, dword [esp + 0xb6c]
mov edx, esp
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
lea eax, [esp + 0x230]
mov dword [edx], eax
mov dword [esp + 0xb4], eax
call fcn.0045548b
mov ecx, dword [0x49e6dc]
xor ecx, 0x56b84359
mov dword [0x49e6dc], ecx
mov ecx, dword [esp + 0xb6c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0xb0], eax
call fcn.0041ee00
mov si, word [0x4a034c]
movsx eax, si
add eax, 0x47da1d0b
mov ecx, dword [0x49ec9c]
or eax, ecx
or eax, 0xfa39a748
mov dword [0x49ec9c], eax
mov eax, esp
mov ecx, dword [esp + 0xb4]
mov dword [eax], ecx
lea eax, [esp + 0x18c]
mov ecx, eax
mov dword [esp + 0xac], eax
call fcn.00419ba0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xac]
mov dword [ecx], edx
lea ecx, [esp + 0x6ac]
mov dword [esp + 0xa8], eax
call fcn.0043c010
sub esp, 4
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xa4], eax
call fcn.0043f9b0
mov si, word [0x4a098e]
mov ax, si
xor eax, 0x2400
or eax, 0xda9d
mov si, word [0x4a0068]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x4a0068], si
mov eax, dword [0x49f904]
add eax, 0xaa6f0ed6
mov dword [0x49f904], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x2a9c
call fcn.00448630
mov dword [esp + 0xb68], eax
mov dword [0x49f3c8], 0x3e771762
mov eax, dword [esp + 0xb68]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x178]
mov ecx, eax
mov dword [esp + 0xa0], eax
call fcn.00419ba0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xa0]
mov dword [ecx], edx
lea ecx, [esp + 0x6ac]
mov dword [esp + 0x9c], eax
call fcn.0043c010
sub esp, 4
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x98], eax
call fcn.0043f9b0
mov si, word [0x4a022c]
mov ax, si
add eax, 0x5677ef93
mov si, ax
mov word [0x4a022c], si
mov eax, dword [esp + 0xb68]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041ee00
mov eax, dword [0x49f884]
mov si, word [0x4a035a]
mov cx, si
dec ecx
mov di, cx
mov word [0x4a035a], di
movsx ecx, si
add ecx, 0x13f4bd59
and eax, ecx
mov si, word [0x4a0338]
mov cx, si
dec ecx
mov si, cx
mov word [0x4a0338], si
movsx ecx, si
add ecx, 0x784a712d
cmp eax, ecx
je 0x4042f7
mov eax, 0x2fe6b8eb
mov ecx, dword [0x49f010]
xor ecx, 0xef9abc9a
cmp eax, ecx
jle 0x4042f2
mov word [0x49fa30], 0x48c6
jmp 0x4042f7
cmp dword [esp + 0x220], 0
je 0x4043d2
mov eax, 0x6ba973aa
mov cx, word [0x4a01f4]
movsx edx, cx
mov esi, dword [0x49dce0]
imul esi, esi, 0x537898c5
and edx, esi
cmp eax, edx
jle 0x40435b
mov eax, 0x76145430
mov ecx, dword [0x49e06c]
shl ecx, 9
and ecx, 0xaefc9520
or ecx, 0xb6331f37
cmp eax, ecx
jl 0x404356
mov dword [0x49db34], 0xe80884fb
jmp 0x4043a7
mov eax, 0x75192ae0
mov ecx, dword [0x49e860]
imul ecx, ecx, 0x81cf87ca
cmp eax, ecx
je 0x4043a2
mov eax, 0xf3606b85
mov cx, word [0x4a03ce]
movsx edx, cx
mov esi, dword [0x49e2c8]
or edx, esi
cmp eax, edx
jl 0x404398
jmp 0x40439d
jmp 0x40439d
jmp 0x4043a2
jmp 0x4043a7
mov eax, dword [esp + 0xb90]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x6ac]
call fcn.0043c010
sub esp, 4
mov dword [0x49e9d0], 0x4e2de518
mov dword [esp + 0x94], eax
mov eax, 0x90773311
mov ecx, dword [0x49f3ec]
cmp eax, ecx
jge 0x404403
mov eax, dword [0x49f764]
or eax, 0xc9465f5c
mov ecx, dword [0x49e20c]
imul ecx, eax
mov dword [0x49e20c], ecx
jmp 0x40444d
mov eax, 0xc5e43282
mov cx, word [0x49feb0]
movsx edx, cx
shl edx, 7
mov cx, word [0x49fc24]
movsx esi, cx
imul edx, esi
and edx, 0x7149a52
cmp eax, edx
jle 0x404448
mov ax, word [0x4a010e]
mov cx, ax
or ecx, 0x4f3c
mov ax, cx
mov word [0x4a010e], ax
jmp 0x40444d
mov eax, dword [0x49d80c]
mov ecx, esp
lea edx, [esp + 0x960]
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [esp + 0x22c], eax
mov eax, dword [0x49f60c]
mov ecx, eax
inc ecx
mov dword [0x49f60c], ecx
mov ecx, dword [0x49e8e8]
inc ecx
mov dword [0x49e8e8], ecx
imul eax, ecx
or eax, 0x8382a503
mov ecx, dword [0x49f5c8]
add ecx, 0x9b94fc06
cmp eax, ecx
jl 0x4044e1
mov eax, 0xf5fc61e1
mov ecx, dword [0x49f400]
add ecx, 0x9917bed7
cmp eax, ecx
jne 0x4044dc
mov eax, 0xfdac5948
mov ecx, dword [0x49e6d4]
or ecx, 0x95b4ef50
cmp eax, ecx
jle 0x4044d7
jmp 0x4044d7
jmp 0x4044dc
jmp 0x4044e1
cmp dword [esp + 0x22c], 0
jne 0x40450d
mov eax, dword [0x49f140]
dec eax
mov dword [0x49f140], eax
mov ecx, dword [0x49efe0]
or ecx, eax
mov dword [0x49efe0], ecx
jmp 0x405640
mov eax, 0x6e2010
mov cx, word [0x49fd82]
mov dx, cx
inc edx
mov cx, dx
mov word [0x49fd82], cx
movsx edx, cx
xor edx, 0x880fadda
mov esi, dword [0x49e924]
add esi, edx
mov dword [0x49e924], esi
xorps xmm0, xmm0
movaps xmmword [esp + 0x6c0], xmm0
mov edx, dword [0x49e0e8]
not edx
add edx, 0x1e5bb3f6
mov esi, dword [0x49e400]
xor esi, 0xffffffff
sub edx, esi
cmp eax, edx
jl 0x404574
mov dword [0x49f1f8], 0x24294d44
mov word [esp + 0x6c0], 2
mov eax, dword [0x49dafc]
add eax, 0x74867f91
mov dword [0x49ef7c], eax
mov eax, dword [0x49d814]
mov ecx, dword [0x49d818]
mov edx, dword [esp + 0x22c]
mov edx, dword [edx + 0xc]
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x174]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x90], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x90]
call eax
sub esp, 4
mov dword [esp + 0x6c4], eax
mov eax, dword [0x49e814]
shr eax, 6
and eax, 0xf94c
xor eax, 0x2d11
mov di, word [0x49fea6]
mov cx, di
or ecx, eax
mov di, cx
mov word [0x49fea6], di
mov eax, dword [0x49d810]
movzx ecx, word [esp + 0x208]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov word [esp + 0x6c2], ax
mov ecx, dword [0x49ef98]
mov edx, ecx
dec edx
mov dword [0x49ef98], edx
add ecx, 0x11376655
mov ax, word [0x49fce0]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x49fce0], ax
cmp dword [esp + 0xb94], 0
je 0x4047f4
mov eax, 0x812200a0
mov ecx, dword [0x49dafc]
shl ecx, 0xa
and ecx, 0x5a347db4
cmp eax, ecx
jle 0x404688
mov eax, dword [0x49f490]
add eax, 0x3013317b
mov dword [0x49f490], eax
jmp 0x4046a4
mov ax, word [0x4a0226]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a0226], ax
movsx ecx, ax
mov dword [0x49e4ec], ecx
mov eax, dword [esp + 0xb94]
mov ecx, 0x10624dd3
mul ecx
shr edx, 6
mov eax, esp
mov dword [eax + 4], edx
lea ecx, [esp + 0x6c0]
mov dword [eax], ecx
call fcn.0043abc0
mov dword [esp + 0x6e0], eax
mov eax, dword [0x49e8d8]
add eax, 0x456d1221
mov ecx, dword [0x49ef34]
sub ecx, eax
mov dword [0x49ef34], ecx
cmp dword [esp + 0x6e0], 0
jge 0x404730
mov eax, dword [0x49ea50]
dec eax
mov dword [0x49ea50], eax
mov cx, word [0x49f9b6]
movsx edx, cx
and eax, edx
or eax, 0xac2f1a69
cmp eax, 0x36c4dd53
jge 0x40472b
mov eax, dword [0x49f388]
and eax, 0xe1399470
mov dword [0x49f388], eax
jmp 0x405640
mov eax, dword [0x49e790]
add eax, 0x5ade0846
mov dword [0x49e790], eax
mov eax, dword [0x49d82c]
mov ecx, dword [esp + 0x6e0]
mov edx, esp
lea esi, [esp + 0xb94]
mov dword [edx + 0xc], esi
mov dword [edx], ecx
mov dword [edx + 0x10], 4
mov dword [edx + 8], 0x1006
mov dword [edx + 4], 0xffff
mov dword [esp + 0x8c], esi
call eax
sub esp, 0x14
mov dword [0x49ed5c], 0x473e9b48
mov ecx, dword [0x49d82c]
mov edx, dword [esp + 0x6e0]
mov esi, esp
mov edi, dword [esp + 0x8c]
mov dword [esi + 0xc], edi
mov dword [esi], edx
mov dword [esi + 0x10], 4
mov dword [esi + 8], 0x1005
mov dword [esi + 4], 0xffff
mov dword [esp + 0x88], eax
call ecx
sub esp, 0x14
mov ecx, dword [0x49e658]
add ecx, 0xb2013903
xor ecx, 0x7b2c
mov bx, word [0x4a040e]
mov dx, bx
or edx, ecx
mov bx, dx
mov word [0x4a040e], bx
mov dword [esp + 0x84], eax
jmp 0x4048cc
mov ax, word [0x4a083c]
movsx ecx, ax
add ecx, 0xcc6e4b3f
mov dword [0x49f140], ecx
mov ecx, dword [0x49d830]
mov edx, esp
mov dword [edx + 8], 6
mov dword [edx + 4], 1
mov dword [edx], 2
call ecx
sub esp, 0xc
mov dword [esp + 0x6e0], eax
mov eax, dword [0x49dfb4]
and eax, 0xbefc5208
mov dword [0x49dfb4], eax
cmp dword [esp + 0x6e0], 0xffffffff
jne 0x404862
mov eax, dword [0x49e874]
and eax, 0x2eb0dc32
mov dword [0x49e874], eax
jmp 0x405640
lea eax, [esp + 0x6c0]
mov ecx, dword [0x49f588]
imul ecx, ecx, 0x6feffddf
mov dword [0x49f588], ecx
mov ecx, dword [0x49d808]
mov edx, dword [esp + 0x6e0]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
mov dword [esi + 8], 0x10
call ecx
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x4048b8
mov eax, dword [0x49f5ec]
xor eax, 0xb87b3d10
mov dword [0x49f5ec], eax
jmp 0x4055d2
mov eax, dword [0x49f060]
mov ecx, dword [0x49dad8]
imul ecx, eax
mov dword [0x49dad8], ecx
lea eax, [esp + 0x6ac]
mov word [0x4a0496], 0x89e
mov ecx, dword [0x49d828]
lea edx, [esp + 0x6ac]
mov dword [esp + 0x80], ecx
mov ecx, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
call fcn.0041bdd0
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], eax
call fcn.0040c450
mov ecx, dword [esp + 0x6e0]
mov edx, esp
mov esi, dword [esp + 0x74]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov eax, dword [esp + 0x80]
call eax
sub esp, 0x10
mov dword [esp + 0x6dc], eax
mov dword [0x49e718], 0xffb1ffef
mov eax, dword [esp + 0x6dc]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x70], eax
call fcn.0041bdd0
mov ecx, dword [esp + 0x70]
cmp ecx, eax
jae 0x404995
mov eax, 0xf76544f9
mov ecx, dword [0x49eefc]
cmp eax, ecx
jne 0x404990
mov ax, word [0x4a0842]
mov cx, ax
and ecx, 0x9e20
mov ax, cx
mov word [0x4a0842], ax
jmp 0x4055d2
mov eax, dword [0x49dc54]
add eax, 0xa4750576
mov dword [0x49dc54], eax
mov ecx, dword [esp + 0xb90]
call fcn.00401c70
mov eax, dword [0x49e410]
shr eax, 8
add eax, 0x5bbdfc13
mov dx, ax
mov word [0x4a07a4], dx
mov dword [0x49eb48], 0xa6ef1b23
mov eax, dword [0x49d820]
mov ecx, dword [esp + 0x6e0]
mov edx, esp
lea esi, [esp + 0x230]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov dword [edx + 8], 0x400
call eax
sub esp, 0x10
mov dword [esp + 0x6dc], eax
mov eax, dword [0x49f480]
add eax, 0xfbffffef
mov dword [0x49f480], eax
cmp dword [esp + 0x6dc], 0
jle 0x404a45
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
call fcn.0041ecf0
cmp eax, 0
je 0x404a59
mov eax, dword [0x49f6b8]
or eax, 0xc812970c
mov dword [0x49f6b8], eax
jmp 0x405415
mov eax, dword [0x49e790]
imul eax, eax, 0x985d2d99
mov dword [0x49e790], eax
mov eax, dword [esp + 0xb90]
mov ecx, eax
mov dword [esp + 0x6c], eax
call fcn.0041bdd0
mov ecx, dword [esp + 0x6dc]
add eax, ecx
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x6c]
call fcn.00406ec0
sub esp, 8
mov eax, dword [0x49df80]
and eax, 0xf81c9c0a
mov dword [0x49df80], eax
mov eax, dword [esp + 0xb90]
mov ecx, eax
call fcn.004233a0
cmp eax, 0
jne 0x404b02
mov eax, 0x8c3d79bf
mov ecx, dword [0x49e0a0]
imul ecx, ecx, 0xcea47c71
cmp eax, ecx
jle 0x404aee
mov eax, dword [0x49df10]
and eax, 0x184042
mov dword [0x49df10], eax
jmp 0x404afd
mov eax, dword [0x49f4a4]
or eax, 0x40eb6a5
mov dword [0x49f4a4], eax
jmp 0x405415
mov ax, word [0x49fe9a]
mov cx, ax
shl ecx, 5
mov ax, cx
mov word [0x49fd4a], ax
mov ecx, dword [esp + 0xb90]
mov edx, dword [esp + 0x6dc]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x230]
mov dword [esi], edx
call fcn.00420f10
sub esp, 8
mov ecx, dword [0x49f670]
mov edx, ecx
dec edx
mov dword [0x49f670], edx
mov edx, 0x5488624e
sub edx, ecx
mov ecx, dword [0x49e4a8]
imul ecx, edx
mov dword [0x49e4a8], ecx
cmp dword [esp + 0x210], 0
mov dword [esp + 0x68], eax
jge 0x404f72
mov eax, 0x98946084
mov dword [0x49ecfc], 0x84100492
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x2a9c
mov dword [esp + 0x64], eax
call fcn.00448630
mov dword [esp + 0xb64], eax
mov dx, word [0x4a0522]
mov ax, dx
add eax, 0x6f4ae33d
mov dx, ax
mov word [0x4a0522], dx
mov ecx, dword [esp + 0xb90]
mov eax, dword [esp + 0xb64]
mov esi, esp
mov dword [esi], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x60], ecx
mov ecx, eax
mov dword [esp + 0x5c], eax
call fcn.0040b6f0
sub esp, 4
mov ecx, esp
mov esi, dword [esp + 0x5c]
mov dword [ecx], esi
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x58], eax
call fcn.0043a530
sub esp, 8
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x5c]
call fcn.004219b0
mov dx, word [0x4a0626]
movsx eax, dx
imul eax, eax, 0x5f3e4233
add eax, 0x431bbd46
mov dword [0x49f554], eax
mov eax, dword [esp + 0xb64]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041ee00
mov eax, dword [0x49e378]
mov ecx, dword [0x49e034]
add ecx, 0x92bf8b9d
or eax, ecx
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jle 0x404cd5
mov eax, 0x20821009
mov ecx, dword [0x49f094]
mov edx, dword [0x49f84c]
inc edx
mov dword [0x49f84c], edx
xor ecx, edx
mov edx, dword [0x49e0d4]
dec edx
mov dword [0x49e0d4], edx
or ecx, edx
cmp eax, ecx
je 0x404ca8
mov eax, dword [0x49e854]
add eax, 0xac11543e
mov dword [0x49e854], eax
jmp 0x404cd0
mov eax, dword [0x49f510]
mov ecx, eax
dec ecx
mov dword [0x49f510], ecx
imul eax, eax, 0x5ac97346
neg eax
mov ecx, dword [0x49ec70]
lea eax, [ecx + eax - 0x7c9374aa]
mov dword [0x49ec70], eax
jmp 0x404cd5
cmp dword [esp + 0x210], 0
jl 0x404f11
mov word [0x49f9d8], 0x94ef
mov eax, dword [esp + 0x210]
add eax, 4
mov dword [esp + 0x210], eax
mov eax, dword [0x49de30]
add eax, 0x901c7da4
mov ecx, dword [0x49f448]
or ecx, eax
mov dword [0x49f448], ecx
mov eax, dword [esp + 0xb90]
mov ecx, esp
mov dword [ecx], eax
call fcn.004219c0
mov dword [esp + 0x20c], eax
mov eax, dword [0x49f084]
add eax, 0x6bf2b3a9
mov dword [0x49f084], eax
cmp dword [esp + 0x20c], 0
jge 0x404ebd
mov eax, 0x40002284
mov ecx, dword [0x49e118]
add ecx, 0x3d77e4de
mov edx, dword [0x49e384]
and edx, ecx
mov dword [0x49e384], edx
mov ecx, esp
mov dword [ecx + 4], 0xb
mov dword [ecx], 0x2076
mov dword [esp + 0x54], eax
call fcn.00448630
mov dword [esp + 0xb60], eax
mov eax, dword [0x49f2c4]
inc eax
mov dword [0x49f2c4], eax
imul eax, eax, 0xb94dbfad
or eax, 0xb3fe973e
mov ecx, dword [0x49f608]
sub ecx, eax
mov dword [0x49f608], ecx
mov ecx, dword [esp + 0xb90]
mov eax, dword [esp + 0xb60]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x14c]
mov dword [esp + 0x50], ecx
mov ecx, eax
mov dword [esp + 0x4c], eax
call fcn.0040b6f0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x48], eax
call fcn.0043a530
sub esp, 8
mov dword [esp + 0x6dc], eax
mov ecx, dword [esp + 0x4c]
call fcn.004219b0
mov si, word [0x4a031e]
mov ax, si
dec eax
mov si, ax
mov word [0x4a031e], si
movsx eax, si
or eax, 0xd6a7358a
mov ecx, dword [0x49e974]
sub ecx, eax
mov dword [0x49e974], ecx
mov eax, dword [esp + 0xb60]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xb
call fcn.0041ee00
mov eax, dword [0x49f6c8]
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jge 0x404e72
mov eax, dword [0x49e39c]
dec eax
mov dword [0x49e39c], eax
and eax, 0xf7ac41a
xor eax, 0x9aaa5740
mov dword [0x49f7ac], eax
cmp dword [esp + 0x6dc], 0
jl 0x404eb3
mov eax, 0x9d5d47bc
mov ecx, dword [0x49f410]
inc ecx
mov dword [0x49f410], ecx
sub eax, ecx
or eax, 0x16085a5e
cmp eax, 0x87ff543e
jl 0x404eae
mov dword [0x49e598], 0xdc5ba2da
jmp 0x405415
mov dword [0x49dd50], 0x95955ec9
mov ax, word [0x49fa64]
movsx ecx, ax
sar ecx, 2
mov edx, dword [0x49e3a8]
xor edx, 0xffffffff
and ecx, edx
cmp ecx, 0xce1256fa
jge 0x404ef4
mov eax, dword [0x49e1b8]
xor eax, 0x3d3b0bcc
mov dword [0x49e1b8], eax
jmp 0x404f0c
mov eax, dword [0x49e40c]
add eax, 0x40f08dfd
mov ecx, dword [0x49e59c]
or ecx, eax
mov dword [0x49e59c], ecx
jmp 0x404f11
mov eax, dword [0x49e8bc]
or eax, 0xa070fb8e
cmp eax, 0x76f7223b
jle 0x404f6d
mov eax, dword [0x49dcb0]
mov ecx, eax
dec ecx
mov dword [0x49dcb0], ecx
mov ecx, 0x3c3a3150
sub ecx, eax
mov eax, dword [0x49dac4]
sar eax, 7
sub ecx, eax
cmp ecx, 0x2009038
jl 0x404f68
mov eax, dword [0x49ed30]
mov ecx, dword [0x49e708]
or eax, ecx
or eax, 0x2aa220a
mov dword [0x49e708], eax
jmp 0x404f6d
jmp 0x404f72
mov ax, word [0x49fd14]
mov cx, ax
mov edx, dword [0x49eff0]
and ecx, edx
mov ax, word [0x49fede]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x49fede], ax
cmp dword [esp + 0x20c], 0
jl 0x40506a
mov eax, dword [0x49f378]
mov ecx, eax
dec ecx
mov dword [0x49f378], ecx
mov ecx, dword [0x49f6e4]
mov edx, ecx
inc edx
mov dword [0x49f6e4], edx
mov si, word [0x4a0082]
movsx edx, si
lea ecx, [ecx + edx + 1]
and eax, ecx
mov ecx, dword [0x49efc8]
imul ecx, eax
mov dword [0x49efc8], ecx
mov eax, dword [esp + 0xb90]
mov ecx, eax
call fcn.0041bdd0
sub eax, dword [esp + 0x210]
cmp eax, dword [esp + 0x20c]
jb 0x40504a
mov eax, 0x7e662ff5
mov ecx, dword [0x49f584]
mov edx, dword [0x49db34]
sub ecx, edx
sub ecx, 0x5e18d1dd
cmp eax, ecx
je 0x405045
mov eax, dword [0x49dde4]
mov ecx, eax
inc ecx
mov dword [0x49dde4], ecx
mov ecx, dword [0x49f274]
lea eax, [eax + ecx + 0x7c135adc]
mov dword [0x49f274], eax
jmp 0x405415
mov eax, dword [0x49f600]
mov cx, word [0x49fd9c]
mov dx, cx
and eax, edx
and eax, 0x969
mov cx, ax
mov word [0x49fd9c], cx
mov ax, word [0x4a0960]
mov cx, ax
and ecx, 0x608
or ecx, 0x7927
mov ax, cx
mov word [0x4a089e], ax
cmp dword [esp + 0xb98], 0
je 0x405355
test byte [esp + 0x207], 1
jne 0x405355
mov eax, dword [0x49e650]
mov ecx, eax
dec ecx
mov dword [0x49e650], ecx
or eax, 0x30861400
mov ecx, dword [0x49ea4c]
dec ecx
mov dword [0x49ea4c], ecx
add ecx, 0xd1a08850
cmp eax, ecx
jg 0x4050e1
mov eax, dword [0x49e3c0]
and eax, 0x2d60fdd6
mov dword [0x49e3c0], eax
mov eax, dword [esp + 0xb90]
mov ecx, eax
call fcn.0041bdd0
cmp eax, 0x4000
jbe 0x40532a
mov ax, word [0x49fb80]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49fb80], ax
movsx ecx, ax
mov edx, dword [0x49de90]
and edx, ecx
mov dword [0x49de90], edx
mov byte [esp + 0x207], 1
mov ecx, dword [0x49e6a8]
not ecx
imul ecx, ecx, 0xb38ece64
mov dword [0x49e1fc], ecx
mov ecx, dword [esp + 0xb90]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x138]
call fcn.0044db20
sub esp, 4
mov ecx, dword [0x49f89c]
add ecx, 0xf47fd462
mov dword [0x49f89c], ecx
cmp dword [esp + 0x210], 0
mov dword [esp + 0x44], eax
jl 0x4051e2
mov eax, dword [0x49e494]
add eax, 0x463d24b0
mov dword [0x49e494], eax
mov eax, dword [esp + 0x210]
mov ecx, esp
mov dword [ecx], 0
lea ecx, [esp + 0x138]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
call fcn.00424110
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x40]
call fcn.0041f300
sub esp, 8
mov si, word [0x49fb96]
mov cx, si
imul ecx, ecx, 0xfcc58f28
mov si, cx
mov word [0x49fb96], si
mov dword [esp + 0x38], eax
lea eax, [esp + 0x138]
lea ecx, [esp + 0x960]
mov edx, dword [0x49deac]
or edx, 0x8e4c980d
mov dword [0x49deac], edx
mov edx, dword [esp + 0xb98]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0040ad70
cmp eax, 0
jne 0x4052d1
mov eax, 0x3415a984
mov ecx, dword [0x49f660]
sar ecx, 3
imul ecx, ecx, 0xed474331
cmp eax, ecx
jne 0x40525e
mov eax, dword [0x49f560]
shl eax, 6
add eax, 0x7b7f95fa
mov ecx, dword [0x49e960]
or ecx, eax
mov dword [0x49e960], ecx
jmp 0x40527e
mov eax, dword [0x49e3a8]
xor eax, 0x4d46
mov cx, word [0x4a052a]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4a052a], cx
mov dword [esp + 0x210], 0xffffffff
mov ax, word [0x49fbf4]
mov cx, ax
or ecx, 0xe3a8
mov ax, cx
mov word [0x49fbf4], ax
mov ecx, dword [esp + 0xb90]
call fcn.00401c70
mov ecx, dword [0x49e324]
mov edx, dword [0x49e708]
xor edx, ecx
mov dword [0x49e708], edx
mov dword [esp + 0x134], 0xd
jmp 0x4052eb
mov eax, dword [0x49ec50]
and eax, 0x2663a751
mov dword [0x49ec50], eax
mov dword [esp + 0x134], 0
lea ecx, [esp + 0x138]
call fcn.0043f9b0
mov ecx, dword [esp + 0x134]
test ecx, ecx
mov dword [esp + 0x34], ecx
je 0x405325
jmp 0x40530f
mov eax, dword [esp + 0x34]
sub eax, 0xd
mov dword [esp + 0x30], eax
je 0x405415
jmp 0x405707
jmp 0x40532a
mov eax, dword [0x49ec20]
mov cx, word [0x49fbf4]
mov dx, cx
xor eax, edx
dec edx
mov cx, dx
mov word [0x49fbf4], cx
xor eax, 0x6738
mov cx, ax
mov word [0x49fba6], cx
mov ax, word [0x49fbaa]
mov cx, ax
xor ecx, 0x23ed
mov ax, cx
mov word [0x49fbaa], ax
cmp dword [esp + 0xb94], 0x3b25
jne 0x405401
mov eax, 0xf1407825
mov cx, word [0x4a01e0]
movsx edx, cx
cmp eax, edx
jl 0x4053a4
mov eax, dword [0x49f1a8]
or eax, 0x48b608cb
mov dword [0x49f1a8], eax
mov eax, dword [esp + 0xb90]
mov ecx, eax
call fcn.0041bdd0
cmp eax, 0x500000
jbe 0x4053da
mov ax, word [0x4a0312]
mov cx, ax
or ecx, 0xdf45
mov ax, cx
mov word [0x4a0312], ax
jmp 0x405415
mov eax, dword [0x49e080]
not eax
add eax, 0x874c384a
and eax, 0x1330
mov cx, word [0x49feaa]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x49feaa], cx
mov eax, dword [0x49da68]
xor eax, 0xfd5e793
mov dword [0x49f518], eax
jmp 0x4049c7
mov eax, dword [0x49e650]
not eax
mov ecx, dword [0x49ed28]
mov edx, ecx
inc edx
mov dword [0x49ed28], edx
add ecx, 0x2f1d30b6
and eax, ecx
mov ecx, dword [0x49dcd8]
xor ecx, eax
mov dword [0x49dcd8], ecx
cmp dword [esp + 0x210], 0
jl 0x4054e4
mov eax, 0x9a597b41
mov ecx, dword [0x49f430]
and ecx, 0x2ffaaa22
mov dword [0x49f430], ecx
mov ecx, dword [esp + 0xb90]
mov edx, dword [esp + 0x210]
mov esi, esp
mov dword [esi], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edx
call fcn.00424110
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x24]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x2c]
call fcn.0041f300
sub esp, 8
mov ecx, dword [0x49ec1c]
inc ecx
mov dword [0x49ec1c], ecx
mov edx, dword [esp + 0x28]
sub edx, ecx
xor edx, 0xf3df01c3
cmp edx, 0x9a024214
mov dword [esp + 0x20], eax
je 0x4054df
mov eax, dword [0x49efb0]
and eax, 0xd5f348ea
mov dword [0x49efb0], eax
jmp 0x4054e4
mov dword [0x49ead0], 0x4fb0d4b1
cmp dword [esp + 0xb98], 0
je 0x4055af
test byte [esp + 0x207], 1
jne 0x4055af
mov eax, 0x3ab61f49
mov ecx, dword [0x49e39c]
dec ecx
mov dword [0x49e39c], ecx
mov edx, dword [0x49e918]
inc edx
mov dword [0x49e918], edx
imul ecx, edx
cmp eax, ecx
je 0x405543
mov dword [0x49e430], 0x1e4075eb
jmp 0x40554d
mov dword [0x49eaa8], 0xa589a29
lea eax, [esp + 0x960]
mov ecx, dword [esp + 0xb98]
mov edx, dword [esp + 0xb90]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040ad70
cmp eax, 0
jne 0x4055a0
mov eax, dword [0x49da70]
add eax, 0x77cbb02a
mov dword [0x49da70], eax
mov ecx, dword [esp + 0xb90]
call fcn.00401c70
mov dword [0x49e97c], 0xb208abe1
mov eax, dword [0x49daf8]
add eax, 0xe915def5
mov dword [0x49daf8], eax
mov ax, word [0x4a07ee]
movsx ecx, ax
xor ecx, 0x800020b
mov edx, dword [0x49f71c]
or ecx, edx
or ecx, 0xf15fa430
mov dword [0x49f71c], ecx
mov eax, dword [0x49d838]
mov ecx, dword [esp + 0x6e0]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 2
call eax
sub esp, 8
mov ecx, dword [0x49e618]
or ecx, 0x31093e9
mov dword [0x49e618], ecx
mov ecx, dword [0x49d804]
mov edx, dword [esp + 0x6e0]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x1c], eax
call ecx
sub esp, 4
mov ecx, dword [0x49f350]
mov di, word [0x4a039e]
movsx edx, di
imul ecx, edx
mov edx, dword [0x49e15c]
imul edx, ecx
mov dword [0x49e15c], edx
mov dword [esp + 0x18], eax
mov eax, esp
lea ecx, [esp + 0x960]
mov dword [eax], ecx
mov dword [eax + 4], 0xfc
call fcn.0040dc50
mov eax, dword [0x49eed0]
imul eax, eax, 0xb64193d9
mov dword [0x49eed0], eax
mov eax, esp
lea ecx, [esp + 0xa5c]
mov dword [eax], ecx
mov dword [eax + 4], 0xfc
call fcn.0040dc50
mov eax, dword [0x49ebd4]
add eax, 0xfc8f1d4c
mov ecx, dword [0x49e498]
sub ecx, eax
mov dword [0x49e498], ecx
mov eax, esp
lea ecx, [esp + 0x6e4]
mov dword [eax], ecx
mov dword [eax + 4], 0x27c
call fcn.0040dc50
mov eax, dword [0x49f774]
add eax, 0x41d08c1
mov dword [0x49f774], eax
mov eax, esp
lea ecx, [esp + 0x230]
mov dword [eax], ecx
mov dword [eax + 4], 0x47c
call fcn.0040dc50
mov eax, dword [0x49f1bc]
mov dx, word [0x4a08f4]
mov cx, dx
and eax, ecx
and eax, 0x6a47
mov dx, ax
mov word [0x4a08f4], dx
lea ecx, [esp + 0x6ac]
call fcn.0043f9b0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3