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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xad0
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 + 0xac8], eax
mov dword [esp + 0xac4], ecx
mov dword [esp + 0xac0], edx
mov dword [esp + 0xabc], esi
mov dword [esp + 0xab8], edi
mov eax, dword [0x49a2e8]
add eax, 0x6f9dc8f2
mov dword [0x49a2e8], eax
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x139
call fcn.00401920
mov dword [esp + 0xab4], eax
mov eax, dword [0x498fb8]
and eax, 0x2983874d
mov dword [0x498fb8], eax
mov eax, dword [esp + 0xab4]
mov ecx, dword [esp + 0xab8]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004558d0
mov dword [esp + 0xa8c], eax
mov eax, dword [0x4989a4]
add eax, 0x6c45d8fd
mov dword [0x4989a4], eax
mov eax, dword [esp + 0xab4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.00405f10
mov eax, dword [0x49f878]
add eax, 0xc5ed8c0b
cmp eax, 0x212b3e23
jne 0x407493
mov ax, word [0x4a419c]
mov cx, ax
add ecx, 0xf7d9bf7e
mov ax, cx
mov word [0x4a419c], ax
jmp 0x4074ad
mov ax, word [0x4a2044]
movsx ecx, ax
sar ecx, 9
mov edx, dword [0x494b84]
sub edx, ecx
mov dword [0x494b84], edx
cmp dword [esp + 0xa8c], 0
jne 0x40763c
mov eax, 0x8bc6edf0
mov cx, word [0x4a344a]
movsx edx, cx
mov esi, dword [0x4973f4]
imul esi, esi, 0x9c805712
add edx, esi
mov esi, dword [0x49d200]
sub eax, esi
cmp edx, eax
jl 0x407508
mov eax, dword [0x495418]
mov cx, word [0x4a833e]
mov dx, cx
lea eax, [eax + edx - 0x7c8e9a4b]
mov cx, ax
mov word [0x4a833e], cx
cmp dword [esp + 0xac8], 0
je 0x40754f
mov eax, dword [0x4a14d4]
add eax, 0xd04cff8c
mov dword [0x4a14d4], eax
mov ecx, dword [esp + 0xac0]
call fcn.00420700
mov dx, word [0x4a7de6]
mov ax, dx
xor eax, 0x6c80
mov dx, ax
mov word [0x4a7de6], dx
jmp 0x409b10
mov eax, 0xce384470
mov ecx, dword [0x495034]
xor ecx, 0x81c26a6c
mov dword [0x495034], ecx
mov ecx, dword [esp + 0xac0]
mov edx, dword [esp + 0xabc]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov dword [esp + 0x130], eax
call fcn.00409d70
mov dword [esp + 0xa88], eax
mov eax, dword [0x49c2cc]
mov ecx, dword [esp + 0x130]
cmp ecx, eax
jle 0x4075b1
mov eax, dword [0x49b4d8]
add eax, 0xad67eb55
mov dword [0x49b4d8], eax
cmp dword [esp + 0xa88], 0
jg 0x407603
mov eax, dword [0x495c8c]
mov ecx, eax
dec ecx
mov dword [0x495c8c], ecx
mov ecx, dword [0x495f20]
and ecx, eax
mov dword [0x495f20], ecx
mov ecx, dword [esp + 0xac0]
call fcn.00420700
mov eax, dword [0x49e9a0]
shl eax, 5
and eax, 0xaf9a98a0
mov ecx, dword [0x493a64]
imul ecx, eax
mov dword [0x493a64], ecx
mov ax, word [0x4a1836]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a1836], ax
movsx ecx, ax
mov edx, dword [0x4951c4]
not edx
imul edx, edx, 0x4c2050f3
xor ecx, edx
mov edx, dword [0x49495c]
add edx, ecx
mov dword [0x49495c], edx
jmp 0x409b10
mov eax, dword [0x49c02c]
mov cx, word [0x4a763e]
mov dx, cx
inc edx
mov si, dx
mov word [0x4a763e], si
movsx edx, cx
add edx, 0x93b1e8ed
and edx, 0x6ffc1238
cmp eax, edx
jl 0x407686
mov eax, dword [0x49c688]
add eax, 0xae61c6c7
mov ecx, dword [0x49ec28]
imul ecx, eax
mov dword [0x49ec28], ecx
mov eax, 0xa2ecc389
mov cx, word [0x4a7d90]
mov dx, cx
add edx, 0xb0c11424
mov cx, dx
mov word [0x4a7d90], cx
mov edx, dword [0x4a0c74]
or edx, 0x47ffac33
mov dword [0x4a0c74], edx
mov edx, dword [0x4971e4]
shl edx, 4
xor edx, 0x783b91d6
mov esi, dword [0x4a0e38]
and esi, edx
mov dword [0x4a0e38], esi
mov edx, dword [0x4a02cc]
mov esi, edx
inc esi
mov dword [0x4a02cc], esi
or edx, 0xe0218ab0
and edx, 0xffe78ab1
mov esi, dword [0x495fc4]
imul esi, edx
mov dword [0x495fc4], esi
mov edx, dword [0x49d1d8]
xor edx, 0xffffffff
sub edx, 0x34b0ea91
cmp eax, edx
je 0x407724
mov eax, dword [0x49aa90]
add eax, 0x8cad5fc
mov dword [0x49aa90], eax
mov eax, dword [0x496ac4]
mov ecx, eax
inc ecx
mov dword [0x496ac4], ecx
mov ecx, dword [0x49e388]
imul ecx, ecx, 0x5790eb7c
sub eax, ecx
mov ecx, dword [0x4930a4]
add ecx, eax
mov dword [0x4930a4], ecx
lea ecx, [esp + 0x67c]
call fcn.004149c0
mov ecx, dword [0x497b70]
mov dx, word [0x4a417a]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x4a417a], dx
mov ecx, dword [0x49c860]
mov dx, word [0x4a46c4]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x4a46c4], dx
mov ecx, dword [0x49b4a8]
and ecx, 0x1800814a
mov dword [0x49b4a8], ecx
mov ecx, dword [0x49aa28]
mov esi, ecx
dec esi
mov dword [0x49aa28], esi
mov esi, dword [0x493558]
and ecx, esi
xor ecx, 0x80031b8b
mov esi, dword [0x49e29c]
and esi, ecx
mov dword [0x49e29c], esi
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov ecx, dword [0x49b174]
imul ecx, ecx, 0x8001db49
mov dword [0x49b174], ecx
mov ecx, dword [0x49960c]
imul ecx, ecx, 0xdf2f9a1d
add ecx, 0x81723022
mov esi, dword [0x4985c8]
sar esi, 3
cmp ecx, esi
mov dword [esp + 0x12c], eax
jg 0x407841
mov eax, dword [0x49fe18]
mov cx, word [0x4a613e]
mov dx, cx
imul eax, edx
shl eax, 2
mov cx, ax
mov word [0x4a613e], cx
mov dword [esp + 0x210], 0xffffffff
mov dword [esp + 0x20c], 0xffffffff
mov eax, dword [0x494b04]
xor eax, 0xda8cde73
mov dword [0x494b04], eax
mov dword [esp + 0x208], 0x50
mov cx, word [0x4a744e]
mov ax, cx
imul eax, eax, 0xe19d1bc4
mov cx, word [0x4a591a]
mov dx, cx
lea eax, [eax + edx + 0x43bcceee]
mov cx, ax
mov word [0x4a591a], cx
mov byte [esp + 0x207], 0
mov eax, dword [0x4a0d80]
add eax, 0x49eb551f
mov dword [0x4a0d80], eax
mov eax, esp
mov dword [eax], 0
call fcn.00450740
add eax, 0x258
adc edx, 0
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
mov eax, dword [0x4937f8]
mov edx, eax
dec edx
mov dword [0x4937f8], edx
mov cx, word [0x4a590e]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a590e], cx
mov byte [esp + 0x6b3], 0
mov eax, dword [0x49bbc4]
mov edx, dword [0x4a08cc]
imul eax, edx
imul eax, eax, 0x4e0d9000
mov dword [0x49fc1c], eax
mov eax, dword [esp + 0xab8]
mov edx, esp
mov dword [edx], eax
call fcn.00451b00
mov dword [esp + 0x22c], eax
mov cx, word [0x4a40bc]
mov ax, cx
xor eax, 0xf300
mov cx, ax
mov word [0x4a40bc], cx
cmp dword [esp + 0x22c], 0x7f
jle 0x407976
mov ax, word [0x4a4688]
mov cx, ax
add ecx, 0x42490489
mov ax, cx
mov word [0x4a4688], ax
jmp 0x409a22
mov ax, word [0x4a48c4]
mov cx, ax
add ecx, 0xaea4a796
mov ax, cx
mov word [0x4a48c4], ax
mov ecx, dword [esp + 0xab8]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x9c1]
mov dword [edx], ecx
call fcn.00455230
mov ecx, dword [0x499564]
mov edx, 0x711945ee
sub edx, ecx
and edx, 0x92ee935e
mov ecx, dword [0x49a020]
or ecx, edx
mov dword [0x49a020], ecx
mov ecx, dword [esp + 0x22c]
sub ecx, 1
mov dword [esp + 0x228], ecx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x22c]
sub ecx, 6
cmp eax, ecx
jl 0x407b50
mov eax, dword [0x49925c]
add eax, 0x71e80c02
mov dword [0x49925c], eax
mov eax, dword [esp + 0x228]
movsx eax, byte [esp + eax + 0x9c1]
cmp eax, 0x3a
jne 0x407b2b
mov dword [0x497ea8], 0xf9efdfff
mov eax, dword [esp + 0x228]
mov byte [esp + eax + 0x9c1], 0
mov eax, dword [0x495f24]
mov ecx, eax
inc ecx
mov dword [0x495f24], ecx
mov ecx, 0x12a4cf4a
sub ecx, eax
and ecx, 0x49509fb
mov eax, dword [0x49548c]
dec eax
mov dword [0x49548c], eax
mov edx, dword [0x49ad64]
imul edx, edx, 0xe5c2d1c8
sub eax, edx
cmp ecx, eax
jge 0x407aa6
mov eax, 0xd39a7569
mov ecx, dword [0x49e19c]
cmp eax, ecx
jge 0x407aa1
mov ax, word [0x4a2660]
mov cx, ax
or ecx, 0x6f4f
mov ax, cx
mov word [0x4a2660], ax
jmp 0x407aa6
mov eax, dword [esp + 0x228]
mov dword [esp + 0x22c], eax
mov eax, dword [0x49bf68]
xor eax, 0x480052f0
cmp eax, 0xcf3cfe4a
jl 0x407ae6
mov ax, word [0x4a7786]
mov cx, ax
imul ecx, ecx, 0xee151b4d
mov ax, cx
mov word [0x4a7786], ax
jmp 0x407af5
mov eax, dword [0x49a2e0]
add eax, 0x5df658d0
mov dword [0x49cd1c], eax
mov eax, dword [esp + 0x228]
lea ecx, [esp + 0x9c1]
lea eax, [eax + ecx + 1]
mov ecx, esp
mov dword [ecx], eax
call fcn.00455ccd
mov dword [esp + 0x208], eax
mov eax, dword [0x49e518]
and eax, 0x770c83a7
mov dword [0x49e518], eax
jmp 0x407b50
mov eax, dword [0x49a768]
add eax, 0x3ddbffff
mov dword [0x49a768], eax
mov eax, dword [esp + 0x228]
add eax, 0xffffffff
mov dword [esp + 0x228], eax
jmp 0x4079e1
mov eax, dword [0x4980ac]
or eax, 0x3abcc50e
mov dword [0x4980ac], eax
mov dword [esp + 0x228], 0
mov eax, dword [esp + 0x228]
cmp eax, dword [esp + 0x22c]
jg 0x407d39
mov eax, dword [0x49496c]
add eax, 0x75519896
mov dword [0x49496c], eax
mov eax, dword [esp + 0x228]
mov cl, byte [esp + eax + 0x9c1]
mov byte [esp + eax + 0x8fa], cl
mov dx, word [0x4a2cd0]
movsx eax, dx
mov esi, dword [0x49c48c]
imul eax, esi
xor eax, 0x70f842f7
mov esi, dword [0x4975dc]
sub esi, eax
mov dword [0x4975dc], esi
mov eax, dword [esp + 0x228]
movsx eax, byte [esp + eax + 0x8fa]
cmp eax, 0x2f
jne 0x407d19
mov eax, dword [0x49f538]
add eax, 0xe7d8c1aa
mov dword [0x49f538], eax
mov eax, dword [esp + 0x228]
mov byte [esp + eax + 0x8fa], 0
mov cx, word [0x4a2f44]
mov ax, cx
inc eax
mov dx, ax
mov word [0x4a2f44], dx
movsx eax, cx
xor eax, 0x211028a1
or eax, 0x5ea8404e
mov esi, dword [0x4986f8]
imul esi, eax
mov dword [0x4986f8], esi
mov eax, dword [esp + 0x228]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x224]
cmp eax, dword [esp + 0x22c]
jg 0x407cec
mov eax, dword [0x49a46c]
dec eax
mov dword [0x49a46c], eax
and eax, 0xc6286890
or eax, 0x9d7974a
mov ecx, dword [0x49abec]
and ecx, eax
mov dword [0x49abec], ecx
mov eax, dword [esp + 0x224]
mov dl, byte [esp + eax + 0x9c1]
mov ecx, dword [esp + 0x228]
sub eax, ecx
mov byte [esp + eax + 0x6b3], dl
mov eax, dword [0x49f46c]
inc eax
mov dword [0x49f46c], eax
imul eax, eax, 0x764d874b
and eax, 0x60e13839
cmp eax, 0xddda8704
jl 0x407cc2
mov dword [0x497fec], 0x10b55200
jmp 0x407cd1
mov eax, dword [0x499c60]
and eax, 0xafbc8c29
mov dword [0x499c60], eax
jmp 0x407cd6
mov eax, dword [esp + 0x224]
add eax, 1
mov dword [esp + 0x224], eax
jmp 0x407c3d
mov eax, dword [0x49f778]
xor eax, 0x7c89
mov ecx, dword [0x49ab88]
or eax, ecx
mov dx, word [0x4a1ba6]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4a1ba6], dx
jmp 0x407d39
mov dword [0x49a588], 0x26700853
mov eax, dword [esp + 0x228]
add eax, 1
mov dword [esp + 0x228], eax
jmp 0x407b6a
lea eax, [esp + 0x6b3]
mov ecx, dword [0x495a04]
or ecx, 0x84995bed
mov dword [0x495a04], ecx
mov ecx, esp
mov dword [ecx], eax
call fcn.00451b00
mov ecx, dword [esp + 0xabc]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x124], eax
call fcn.00451b00
mov ecx, dword [esp + 0x124]
add ecx, eax
cmp ecx, 0x1ff
jbe 0x407dac
mov eax, dword [0x497ee0]
mov cx, word [0x4a6e7a]
mov dx, cx
lea eax, [edx + eax*8 + 0x24d6038b]
mov cx, ax
mov word [0x4a6e7a], cx
jmp 0x409a22
mov eax, dword [0x49e6a8]
imul eax, eax, 0x7eec6f48
mov dword [0x49e6a8], eax
mov eax, dword [esp + 0xabc]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x6b3]
mov dword [ecx], eax
call fcn.00455240
mov ecx, dword [0x49af9c]
imul ecx, ecx, 0x2cc8246
mov dword [0x49af9c], ecx
mov dword [esp + 0x224], 0
mov dx, word [0x4a5594]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x4a5594], dx
movsx ecx, dx
mov esi, dword [0x49b024]
lea ecx, [ecx + esi - 0x44fc6891]
mov dword [0x49b024], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x428d
mov dword [esp + 0x120], eax
call fcn.00401920
mov dword [esp + 0xab0], eax
mov eax, dword [0x49fc08]
xor eax, 0x290f1eea
mov dword [0x49fc08], eax
mov eax, dword [esp + 0xab0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x67c]
call fcn.00436ba0
sub esp, 4
mov ecx, dword [0x49cc00]
mov esi, ecx
inc esi
mov dword [0x49cc00], esi
imul ecx, ecx, 0x8d83667f
mov dx, word [0x4a603a]
mov si, dx
dec esi
mov di, si
mov word [0x4a603a], di
movsx esi, dx
or ecx, esi
mov esi, dword [0x49465c]
imul esi, ecx
mov dword [0x49465c], esi
mov ecx, dword [esp + 0xab0]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 5
mov dword [esp + 0x11c], eax
call fcn.00405f10
mov eax, dword [0x495b6c]
imul eax, eax, 0xfbefdbeb
mov dword [0x495b6c], eax
mov eax, dword [esp + 0xac0]
mov ecx, eax
call fcn.004486c0
cmp eax, 0
je 0x40821e
mov eax, dword [0x49e280]
xor eax, 0xa5dfaafe
mov dword [0x49e280], eax
mov eax, esp
mov dword [eax + 4], 0xc
mov dword [eax], 0x457
call fcn.00401920
mov dword [esp + 0xaac], eax
mov eax, dword [0x49fb60]
xor eax, 0x67580e8
mov ecx, dword [0x4a0890]
inc ecx
mov dword [0x4a0890], ecx
or eax, ecx
mov ecx, dword [0x49af8c]
sub ecx, eax
mov dword [0x49af8c], ecx
mov ecx, dword [esp + 0xac0]
mov eax, dword [esp + 0xaac]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x1f0]
mov dword [esp + 0x118], ecx
mov ecx, eax
mov dword [esp + 0x114], eax
call fcn.00441be0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x114]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x110], eax
call fcn.0041e500
sub esp, 8
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x114]
call fcn.004206f0
mov eax, dword [0x4a1624]
xor eax, 0x66768ffd
mov dword [0x4a1624], eax
mov eax, dword [esp + 0xaac]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.00405f10
mov si, word [0x4a39f6]
mov ax, si
dec eax
mov si, ax
mov word [0x4a39f6], si
movsx eax, si
mov ecx, 0xd4aeb87e
sub ecx, eax
mov eax, dword [0x49c72c]
and ecx, eax
cmp ecx, 0xfa200825
jle 0x40801d
mov eax, dword [0x49a294]
mov ecx, eax
inc ecx
mov dword [0x49a294], ecx
mov ecx, dword [0x49c81c]
sub ecx, eax
mov dword [0x49c81c], ecx
cmp dword [esp + 0x228], 0
jne 0x40820f
mov eax, 0xdaaa8b90
mov ecx, dword [0x495240]
mov edx, ecx
inc edx
mov dword [0x495240], edx
mov si, word [0x4a88b4]
movsx edx, si
add ecx, edx
cmp eax, ecx
jg 0x40806f
mov eax, dword [0x49f048]
mov ecx, dword [0x4a03dc]
xor eax, ecx
xor eax, 0x6c8ec73c
mov dword [0x4a03dc], eax
jmp 0x40807e
mov eax, dword [0x496f54]
add eax, 0xb5bfde9c
mov dword [0x496f54], eax
mov eax, 0xecc5822d
mov dword [esp + 0x224], 1
mov ecx, dword [0x494534]
add ecx, 0xa9260d53
mov dword [0x494534], ecx
mov ecx, dword [esp + 0xac0]
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x108], eax
call fcn.00407370
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0xb
mov ecx, dword [esp + 0x10c]
call fcn.00413310
sub esp, 8
mov ecx, dword [0x498d80]
sar ecx, 6
mov edx, dword [esp + 0x108]
cmp edx, ecx
mov dword [esp + 0x104], eax
jle 0x408132
mov eax, 0x83c34d2f
mov ecx, dword [0x498110]
inc ecx
mov dword [0x498110], ecx
or ecx, 0x46142179
cmp eax, ecx
jg 0x40812d
mov eax, dword [0x497e3c]
or eax, 0x6a1635ae
mov dword [0x497e3c], eax
jmp 0x408132
mov eax, 0x6697d882
mov ecx, esp
mov dword [ecx + 4], 6
mov dword [ecx], 0x3219
mov dword [esp + 0x100], eax
call fcn.00401920
mov dword [esp + 0xaa8], eax
mov dx, word [0x4a3514]
mov ax, dx
inc eax
mov si, ax
mov word [0x4a3514], si
movsx eax, dx
mov ecx, dword [esp + 0x100]
cmp ecx, eax
jg 0x408194
mov eax, dword [0x498300]
or eax, 0x5cb325f
mov dword [0x498300], eax
jmp 0x4081b0
mov eax, dword [0x495e1c]
imul eax, eax, 0xa7afbe04
mov cx, word [0x4a19ae]
movsx edx, cx
or eax, edx
mov dword [0x4a0778], eax
mov eax, dword [esp + 0xaa8]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x67c]
call fcn.00436ba0
sub esp, 4
mov dword [0x4a0d88], 0x2ded242c
mov ecx, dword [esp + 0xaa8]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 6
mov dword [esp + 0xfc], eax
call fcn.00405f10
mov si, word [0x4a569e]
movsx eax, si
add eax, 0xe3f1bc8d
mov ecx, dword [0x494680]
sub ecx, eax
mov dword [0x494680], ecx
mov eax, dword [0x49ce34]
add eax, 0x3c121a91
mov dword [0x49ce34], eax
mov eax, 0x4313b290
mov ecx, dword [0x499158]
mov dx, word [0x4a61e4]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x4a61e4], dx
mov ecx, esp
lea esi, [esp + 0x6b3]
mov dword [ecx], esi
lea ecx, [esp + 0x1dc]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xf4], eax
call fcn.00416550
sub esp, 4
mov ecx, esp
mov esi, dword [esp + 0xf8]
mov dword [ecx], esi
lea ecx, [esp + 0x67c]
mov dword [esp + 0xf0], eax
call fcn.0044de90
sub esp, 4
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xec], eax
call fcn.00438260
mov eax, dword [0x495470]
or eax, 0x8bed6a25
mov ecx, dword [esp + 0xf4]
cmp ecx, eax
jl 0x4082c4
mov eax, dword [0x49fd58]
imul eax, eax, 0x43a9dc17
mov dword [0x49fd58], eax
mov eax, esp
mov dword [eax + 4], 0x32
mov dword [eax], 0x260e
call fcn.00401920
mov dword [esp + 0xaa4], eax
mov eax, dword [0x49dba8]
xor eax, 0x3209c9fb
mov dword [0x49dba8], eax
mov eax, dword [esp + 0xaa4]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1c8]
mov ecx, eax
mov dword [esp + 0xe8], eax
call fcn.00416550
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xe8]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], eax
call fcn.0044de90
sub esp, 4
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xdc], eax
call fcn.00438260
mov eax, dword [0x496d90]
or eax, 0xbf16ab66
mov dword [0x496d90], eax
mov eax, dword [esp + 0xaa4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x32
call fcn.00405f10
mov eax, dword [0x499390]
mov ecx, eax
dec ecx
mov dword [0x499390], ecx
mov ecx, dword [0x4a070c]
imul ecx, eax
mov dword [0x4a070c], ecx
mov eax, esp
lea ecx, [esp + 0x8fa]
mov dword [eax], ecx
lea eax, [esp + 0x1b4]
mov ecx, eax
mov dword [esp + 0xd8], eax
call fcn.00416550
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xd8]
mov dword [ecx], edx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xd4], eax
call fcn.0044de90
sub esp, 4
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0xd0], eax
call fcn.00438260
mov eax, dword [0x49f758]
mov si, word [0x4a3076]
mov cx, si
dec ecx
mov di, cx
mov word [0x4a3076], di
movsx ecx, si
mov edx, 0x8d71959
sub edx, ecx
or eax, edx
mov ecx, dword [0x495730]
xor ecx, eax
mov dword [0x495730], ecx
cmp dword [esp + 0x224], 0
je 0x40865d
mov eax, 0x10f62973
mov ecx, dword [0x49bd48]
add ecx, 0xf6fea162
mov dword [0x49bd48], ecx
mov ecx, esp
mov dword [ecx + 4], 0x44
mov dword [ecx], 0x1d9a
mov dword [esp + 0xcc], eax
call fcn.00401920
mov dword [esp + 0xaa0], eax
mov eax, dword [0x494338]
and eax, 0x11006d
mov ecx, dword [0x4a0dd8]
imul ecx, eax
mov dword [0x4a0dd8], ecx
mov eax, dword [esp + 0xaa0]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1a0]
mov ecx, eax
mov dword [esp + 0xc8], eax
call fcn.00416550
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xc8]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xc4], eax
call fcn.0044de90
sub esp, 4
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xc0], eax
call fcn.00438260
mov eax, dword [0x494698]
shl eax, 0xa
xor eax, 0x170daf3a
mov ecx, dword [0x49f458]
dec ecx
mov dword [0x49f458], ecx
or eax, ecx
mov ecx, dword [esp + 0xcc]
cmp ecx, eax
je 0x40850c
mov eax, dword [0x494e98]
imul eax, eax, 0x23e23454
mov dword [0x494e98], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x3c28
call fcn.00401920
mov dword [esp + 0xa9c], eax
mov cx, word [0x4a4bfc]
mov ax, cx
or eax, 0x5330
mov cx, ax
mov word [0x4a4bfc], cx
mov eax, dword [esp + 0xaa0]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 0x44
call fcn.00405f10
mov eax, dword [0x49d0cc]
inc eax
mov dword [0x49d0cc], eax
and eax, 0x42d90718
xor eax, 0x62ac4b23
cmp eax, 0xdccffffe
je 0x408586
mov eax, dword [0x49eea8]
add eax, 0x96284cb4
mov dword [0x49eea8], eax
mov ecx, dword [esp + 0xac0]
call fcn.004486c0
mov ecx, dword [esp + 0xa9c]
mov edx, esp
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
lea eax, [esp + 0x235]
mov dword [edx], eax
mov dword [esp + 0xbc], eax
call fcn.0045558f
mov word [0x4a33f8], 0x41a3
mov ecx, dword [esp + 0xa9c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0xb8], eax
call fcn.00405f10
mov dword [0x49b0bc], 0xfa112be8
mov eax, esp
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
lea eax, [esp + 0x18c]
mov ecx, eax
mov dword [esp + 0xb4], eax
call fcn.00416550
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xb4]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xb0], eax
call fcn.0044de90
sub esp, 4
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xac], eax
call fcn.00438260
mov eax, dword [0x499920]
imul eax, eax, 0x95f20a60
neg eax
mov ecx, dword [0x4a0e08]
lea eax, [ecx + eax - 0x4e2b7f4]
mov dword [0x4a0e08], eax
mov eax, dword [0x49a148]
sar eax, 6
imul eax, eax, 0x1efaa8c1
mov ecx, dword [0x49d008]
and ecx, eax
mov dword [0x49d008], ecx
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x2d0
call fcn.00401920
mov dword [esp + 0xa98], eax
mov eax, dword [0x499f34]
or eax, 0xb5532723
mov dword [0x499f34], eax
mov eax, dword [esp + 0xa98]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x178]
mov ecx, eax
mov dword [esp + 0xa8], eax
call fcn.00416550
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xa8]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xa4], eax
call fcn.0044de90
sub esp, 4
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xa0], eax
call fcn.00438260
mov eax, dword [0x495bdc]
and eax, 0x7ae4e43e
xor eax, 0x478ef9d8
cmp eax, 0x80c880
jle 0x40872c
mov ax, word [0x4a51c8]
mov cx, ax
add ecx, 0x90000082
mov ax, cx
mov word [0x4a51c8], ax
mov eax, dword [esp + 0xa98]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.00405f10
mov eax, dword [0x4a1710]
or eax, 0xef0f8685
mov dword [0x4a1710], eax
cmp dword [esp + 0x224], 0
je 0x4087b8
mov eax, dword [0x49598c]
add eax, 0xcab8067d
xor eax, 0xa09b16a0
mov ecx, dword [0x49e8f8]
sub ecx, eax
mov dword [0x49e8f8], ecx
mov eax, dword [esp + 0xac0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x67c]
call fcn.0044de90
sub esp, 4
mov dx, word [0x4a58e0]
mov cx, dx
add ecx, 0x38359011
mov dx, cx
mov word [0x4a58e0], dx
mov dword [esp + 0x9c], eax
mov eax, dword [0x49c774]
add eax, 0xa2134869
mov dword [0x49c774], eax
mov eax, dword [0x492ccc]
mov ecx, esp
lea edx, [esp + 0x8fa]
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [esp + 0x230], eax
mov eax, dword [0x49c36c]
xor eax, 0x81027228
mov dword [0x49c36c], eax
cmp dword [esp + 0x230], 0
jne 0x40881e
mov ax, word [0x4a442e]
movsx ecx, ax
not ecx
mov edx, dword [0x4976fc]
sub edx, ecx
mov dword [0x4976fc], edx
jmp 0x409a22
mov eax, dword [0x493b38]
mov ecx, eax
dec ecx
mov dword [0x493b38], ecx
mov dx, word [0x4a8ba6]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4a8ba6], dx
xorps xmm0, xmm0
movaps xmmword [esp + 0x690], xmm0
mov eax, dword [0x497bc4]
inc eax
mov dword [0x497bc4], eax
or eax, 0xda51
mov dx, word [0x4a6b90]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4a6b90], dx
mov word [esp + 0x690], 2
mov word [0x4a7262], 0xa4e0
mov eax, dword [0x492cd4]
mov ecx, dword [0x492cd8]
mov esi, dword [esp + 0x230]
mov esi, dword [esi + 0xc]
mov esi, dword [esi]
mov esi, dword [esi]
mov dword [esp + 0x174], esi
mov esi, dword [esp + 0x174]
mov edi, esp
mov dword [edi], esi
mov dword [esp + 0x98], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x98]
call eax
sub esp, 4
mov dword [esp + 0x694], eax
mov eax, dword [0x496af8]
mov ecx, dword [0x49aab0]
add ecx, eax
mov dword [0x49aab0], ecx
mov eax, dword [0x492cd0]
movzx ecx, word [esp + 0x208]
mov esi, esp
mov dword [esi], ecx
call eax
sub esp, 4
mov word [esp + 0x692], ax
mov ecx, dword [0x4963f4]
xor ecx, 0xd2679dbd
mov dword [0x4963f4], ecx
cmp dword [esp + 0xac4], 0
je 0x408ad2
mov ax, word [0x4a6bc4]
mov cx, ax
add ecx, 0xcbe44cd5
mov ax, cx
mov word [0x4a6bc4], ax
mov eax, dword [esp + 0xac4]
mov ecx, 0x10624dd3
mul ecx
shr edx, 6
mov eax, esp
mov dword [eax + 4], edx
lea ecx, [esp + 0x690]
mov dword [eax], ecx
call fcn.0041d1b0
mov dword [esp + 0x6ac], eax
mov eax, dword [0x493350]
shr eax, 1
add eax, 0xee32c2eb
mov ecx, dword [0x4a0070]
mov edx, ecx
dec edx
mov dword [0x4a0070], edx
and eax, ecx
mov si, word [0x4a65bc]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x4a65bc], si
cmp dword [esp + 0x6ac], 0
jge 0x4089d5
mov eax, dword [0x49328c]
inc eax
mov dword [0x49328c], eax
xor eax, 0x2d09dd3b
mov ecx, dword [0x49bd80]
or eax, ecx
mov ecx, dword [0x49d7d8]
add ecx, eax
mov dword [0x49d7d8], ecx
jmp 0x409a22
mov eax, dword [0x49d0c4]
add eax, eax
mov ecx, dword [0x49d40c]
sub ecx, eax
mov dword [0x49d40c], ecx
mov eax, dword [0x492cec]
mov ecx, dword [esp + 0x6ac]
mov edx, esp
lea esi, [esp + 0xac4]
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 + 0x94], esi
call eax
sub esp, 0x14
mov ecx, dword [0x49504c]
add ecx, 0x85ed5efd
and ecx, 0xa8e0a9e1
mov edx, dword [0x495730]
add edx, ecx
mov dword [0x495730], edx
mov ecx, dword [0x492cec]
mov edx, dword [esp + 0x6ac]
mov esi, esp
mov edi, dword [esp + 0x94]
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 + 0x90], eax
call ecx
sub esp, 0x14
mov ecx, dword [0x4944a0]
mov edx, ecx
dec edx
mov dword [0x4944a0], edx
add ecx, 0x954a7fbe
mov edx, dword [0x4979c4]
inc edx
mov dword [0x4979c4], edx
add edx, 0x8e48e4e2
add edx, 0x14ac5000
cmp ecx, edx
mov dword [esp + 0x8c], eax
jle 0x408acd
mov eax, dword [0x494ce0]
add eax, 0xb5dd0e56
mov dword [0x494ce0], eax
jmp 0x408c3f
mov eax, dword [0x49451c]
mov ecx, eax
inc ecx
mov dword [0x49451c], ecx
mov ecx, dword [0x49ac54]
sub ecx, eax
mov dword [0x49ac54], ecx
mov eax, dword [0x492cf0]
mov ecx, esp
mov dword [ecx + 8], 6
mov dword [ecx + 4], 1
mov dword [ecx], 2
call eax
sub esp, 0xc
mov dword [esp + 0x6ac], eax
mov dx, word [0x4a25ee]
movsx eax, dx
imul eax, eax, 0xb77997fc
add eax, 0x124de196
mov ecx, dword [0x497c74]
and ecx, eax
mov dword [0x497c74], ecx
cmp dword [esp + 0x6ac], 0xffffffff
jne 0x408b85
mov eax, 0xa93ff6a2
mov cx, word [0x4a85fc]
movsx edx, cx
add edx, 0xd47b9e47
cmp eax, edx
jle 0x408b80
mov ax, word [0x4a6b82]
movsx ecx, ax
xor ecx, 0xff36112b
mov edx, dword [0x49bcc0]
or edx, ecx
mov dword [0x49bcc0], edx
jmp 0x409a22
lea eax, [esp + 0x690]
mov ecx, dword [0x493aa8]
mov edx, ecx
inc edx
mov dword [0x493aa8], edx
add ecx, 0x93992849
mov edx, dword [0x49b208]
imul edx, ecx
mov dword [0x49b208], edx
mov ecx, dword [0x492cc8]
mov edx, dword [esp + 0x6ac]
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 0x408c30
mov eax, 0xa400b9da
mov ecx, dword [0x49b898]
dec ecx
mov dword [0x49b898], ecx
mov edx, dword [0x49a464]
inc edx
mov dword [0x49a464], edx
and edx, 0x57c8b194
xor ecx, edx
cmp eax, ecx
jne 0x408c2b
mov ax, word [0x4a62b8]
mov cx, ax
and ecx, 0x4b83
mov ax, word [0x4a4878]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x4a4878], ax
jmp 0x4099ba
mov eax, dword [0x49b074]
or eax, 0x3ffecbf3
mov dword [0x49b074], eax
lea eax, [esp + 0x67c]
mov ecx, dword [0x49a3dc]
or ecx, 0xb433f207
mov dword [0x49a3dc], ecx
mov ecx, dword [0x492ce8]
lea edx, [esp + 0x67c]
mov dword [esp + 0x88], ecx
mov ecx, edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edx
call fcn.004486c0
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], eax
call fcn.0041e1e0
mov ecx, dword [esp + 0x6ac]
mov edx, esp
mov esi, dword [esp + 0x7c]
mov dword [edx + 8], esi
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [edx + 0xc], 0
mov eax, dword [esp + 0x88]
call eax
sub esp, 0x10
mov dword [esp + 0x6a8], eax
mov eax, dword [0x495314]
shl eax, 4
mov di, word [0x4a4968]
mov cx, di
and ecx, eax
mov di, cx
mov word [0x4a4968], di
mov eax, dword [esp + 0x6a8]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x78], eax
call fcn.004486c0
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jae 0x408d10
mov dword [0x4a02ec], 0xe7351271
jmp 0x4099ba
mov eax, 0x200f011
mov ecx, dword [0x49aa50]
imul ecx, ecx, 0x34bdd94c
mov dword [0x49aa50], ecx
mov ecx, dword [esp + 0xac0]
mov dword [esp + 0x74], eax
call fcn.00420700
mov dx, word [0x4a37c8]
mov ax, dx
dec eax
mov dx, ax
mov word [0x4a37c8], dx
movsx eax, dx
or eax, 0x16c83544
mov ecx, dword [esp + 0x74]
cmp ecx, eax
je 0x408d99
mov ax, word [0x4a8666]
movsx ecx, ax
xor ecx, 0xedd1aa94
cmp ecx, 0x1a436d84
je 0x408d94
mov eax, dword [0x49fc90]
xor eax, 0xbaf845d6
mov ecx, dword [0x497854]
imul ecx, eax
mov dword [0x497854], ecx
jmp 0x408d99
jmp 0x408d9e
mov dword [0x494ce8], 0x7dc57c89
mov eax, dword [0x492ce0]
mov ecx, dword [esp + 0x6ac]
mov edx, esp
lea esi, [esp + 0x235]
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 + 0x6a8], eax
mov di, word [0x4a3414]
mov ax, di
inc eax
mov bx, ax
mov word [0x4a3414], bx
movsx eax, di
mov ecx, 0x278c3f4e
sub ecx, eax
mov di, word [0x4a7848]
movsx eax, di
sar eax, 4
xor ecx, eax
mov eax, dword [0x49ab3c]
and eax, ecx
mov dword [0x49ab3c], eax
cmp dword [esp + 0x6a8], 0
jle 0x408e47
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
call fcn.00438d20
cmp eax, 0
je 0x408e62
mov eax, dword [0x49cfb8]
mov ecx, dword [0x499578]
imul eax, ecx
shl eax, 4
mov dword [0x499578], eax
jmp 0x4097bf
mov ax, word [0x4a7f0c]
mov cx, ax
mov edx, ecx
dec edx
mov ax, dx
mov word [0x4a7f0c], ax
and ecx, 0xa2e4
mov ax, word [0x4a3afa]
mov dx, ax
imul edx, ecx
mov ax, dx
mov word [0x4a3afa], ax
mov ecx, dword [esp + 0xac0]
mov dword [esp + 0x70], ecx
call fcn.004486c0
mov ecx, dword [esp + 0x6a8]
add eax, ecx
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x70]
call fcn.0043e740
sub esp, 8
mov eax, dword [0x4969dc]
mov ecx, eax
dec ecx
mov dword [0x4969dc], ecx
add eax, 0x6ad73e4a
or eax, 0x19b88726
mov si, word [0x4a367e]
mov cx, si
dec ecx
mov si, cx
mov word [0x4a367e], si
movsx ecx, si
cmp eax, ecx
jle 0x408f0d
mov eax, dword [0x492fb8]
mov ecx, dword [0x49edf8]
or ecx, eax
mov dword [0x49edf8], ecx
mov eax, dword [esp + 0xac0]
mov ecx, eax
call fcn.0041d190
cmp eax, 0
jne 0x408f88
mov eax, 0x1457af30
mov ecx, dword [0x4a0128]
xor ecx, 0xd4ba2165
xor ecx, 0x1462350b
cmp eax, ecx
jg 0x408f73
mov eax, 0xc351fffa
mov ecx, dword [0x495b94]
cmp eax, ecx
jl 0x408f6e
mov ax, word [0x4a3dae]
mov cx, ax
xor ecx, 0x3d01
mov ax, cx
mov word [0x4a3dae], ax
jmp 0x408f83
mov eax, dword [0x49a404]
imul eax, eax, 0x404620f0
mov dword [0x49a404], eax
jmp 0x4097bf
mov eax, dword [0x49af4c]
not eax
imul eax, eax, 0xe62653a3
mov ecx, dword [0x493aa0]
or ecx, eax
mov dword [0x493aa0], ecx
mov ecx, dword [esp + 0xac0]
mov eax, dword [esp + 0x6a8]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x235]
mov dword [edx], eax
call fcn.004414e0
sub esp, 8
mov ecx, dword [0x49bb18]
add ecx, 0xdef8c1e0
mov edx, dword [0x4977f0]
sub edx, ecx
mov dword [0x4977f0], edx
cmp dword [esp + 0x210], 0
mov dword [esp + 0x6c], eax
jge 0x409315
mov ax, word [0x4a86f2]
mov cx, ax
imul ecx, ecx, 0x8209800
mov ax, cx
mov word [0x4a86f2], ax
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x2d0
call fcn.00401920
mov dword [esp + 0xa94], eax
mov dx, word [0x4a2b56]
movsx eax, dx
mov ecx, dword [0x49ce20]
sub ecx, eax
mov dword [0x49ce20], ecx
mov ecx, dword [esp + 0xac0]
mov eax, dword [esp + 0xa94]
mov esi, esp
mov dword [esi], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x68], ecx
mov ecx, eax
mov dword [esp + 0x64], eax
call fcn.00441be0
sub esp, 4
mov ecx, esp
mov esi, dword [esp + 0x64]
mov dword [ecx], esi
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x60], eax
call fcn.0041e500
sub esp, 8
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x64]
call fcn.004206f0
mov eax, dword [0x495360]
mov ecx, eax
inc ecx
mov dword [0x495360], ecx
sub eax, 0x64424ad3
add eax, 0x282eb8f3
cmp eax, 0x5d804f68
je 0x4090ca
mov eax, dword [0x49f6cc]
xor eax, 0x91041434
mov dword [0x49f6cc], eax
mov eax, 0x11808162
mov ecx, dword [esp + 0xa94]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x5c], eax
call fcn.00405f10
mov eax, dword [0x493a48]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jle 0x409104
mov word [0x4a198a], 0x210
cmp dword [esp + 0x210], 0
jl 0x40930b
mov eax, dword [0x496bd8]
imul eax, eax, 0x7c3cc349
mov dword [0x496bd8], eax
mov eax, dword [esp + 0x210]
add eax, 4
mov dword [esp + 0x210], eax
mov cx, word [0x4a525c]
mov ax, cx
or eax, 0xf6c6
mov cx, ax
mov word [0x4a525c], cx
mov eax, dword [esp + 0xac0]
mov edx, esp
mov dword [edx], eax
call fcn.0044eef0
mov dword [esp + 0x20c], eax
mov eax, dword [0x4936c0]
not eax
add eax, 0x58e9c4e6
mov edx, dword [0x497bf0]
xor edx, eax
mov dword [0x497bf0], edx
cmp dword [esp + 0x20c], 0
jge 0x4092e2
mov eax, dword [0x49b430]
add eax, 0xcd5f9cde
mov dword [0x49b430], eax
mov eax, esp
mov dword [eax + 4], 0xb
mov dword [eax], 0x419a
call fcn.00401920
mov dword [esp + 0xa90], eax
mov eax, dword [0x49c2b4]
or eax, 0x36b8f0d1
mov dword [0x49c2b4], eax
mov ecx, dword [esp + 0xac0]
mov eax, dword [esp + 0xa90]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x14c]
mov dword [esp + 0x58], ecx
mov ecx, eax
mov dword [esp + 0x54], eax
call fcn.00441be0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x54]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], eax
call fcn.0041e500
sub esp, 8
mov dword [esp + 0x6a8], eax
mov ecx, dword [esp + 0x54]
call fcn.004206f0
mov eax, dword [0x49da8c]
mov ecx, eax
dec ecx
mov dword [0x49da8c], ecx
imul eax, eax, 0xc120d953
and eax, 0xd2523ef5
mov ecx, dword [0x493cc0]
add ecx, eax
mov dword [0x493cc0], ecx
mov eax, dword [esp + 0xa90]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xb
call fcn.00405f10
mov eax, dword [0x4a0bdc]
not eax
mov ecx, dword [0x499270]
sar ecx, 4
add eax, ecx
sub eax, 0x518eb0fc
cmp eax, 0x57c9453c
jg 0x40928e
mov eax, dword [0x499bf4]
imul eax, eax, 0xeba9f923
mov dword [0x499bf4], eax
cmp dword [esp + 0x6a8], 0
jl 0x4092ca
mov ax, word [0x4a4c1c]
mov cx, ax
xor ecx, 0x4c00
or ecx, 0x130f
mov ax, word [0x4a1fa4]
mov dx, ax
add edx, ecx
mov ax, dx
mov word [0x4a1fa4], ax
jmp 0x4097bf
mov ax, word [0x4a26e0]
mov cx, ax
imul ecx, ecx, 0x39c50d87
mov ax, cx
mov word [0x4a26e0], ax
mov eax, dword [0x495fd8]
mov cx, word [0x4a7118]
mov dx, cx
not edx
or eax, edx
mov cx, word [0x4a4822]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4a4822], cx
mov dword [0x497ba8], 0x8ce78ae1
mov eax, dword [0x4a06d4]
shl eax, 5
add eax, 0xc051eb1f
mov ecx, dword [0x49d7fc]
sub ecx, eax
mov dword [0x49d7fc], ecx
cmp dword [esp + 0x20c], 0
jl 0x4093ec
mov eax, dword [0x49dad4]
and eax, 0xceb4f393
mov ecx, dword [0x496738]
add ecx, eax
mov dword [0x496738], ecx
mov eax, dword [esp + 0xac0]
mov ecx, eax
call fcn.004486c0
sub eax, dword [esp + 0x210]
cmp eax, dword [esp + 0x20c]
jb 0x4093d5
mov eax, 0xdeca9ffc
mov ecx, dword [0x49f9cc]
mov edx, dword [0x49b914]
mov esi, dword [0x49e014]
shl esi, 2
sub edx, esi
xor ecx, edx
cmp eax, ecx
jl 0x4093d0
mov ax, word [0x4a41b6]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4a41b6], dx
movsx ecx, ax
mov esi, 0xeaef8b2a
sub esi, ecx
or esi, 0xcd39e930
mov ecx, dword [0x495b10]
add ecx, esi
mov dword [0x495b10], ecx
jmp 0x4097bf
mov eax, dword [0x49569c]
mov ecx, dword [0x4a0680]
or eax, ecx
or eax, 0x45e5b7c1
mov dword [0x4a0680], eax
mov eax, dword [0x49e68c]
add eax, 0x77620688
mov dword [0x49e68c], eax
cmp dword [esp + 0xac8], 0
je 0x4096e0
test byte [esp + 0x207], 1
jne 0x4096e0
mov eax, dword [0x493284]
cmp eax, 0xaf4d3227
jg 0x40944b
mov eax, dword [0x497bcc]
shr eax, 2
add eax, 0x71cf6df8
mov cx, word [0x4a2258]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4a2258], cx
mov eax, dword [esp + 0xac0]
mov ecx, eax
call fcn.004486c0
cmp eax, 0x4000
jbe 0x4096cd
mov ax, word [0x4a836e]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a836e], dx
movsx ecx, ax
mov esi, dword [0x49ee98]
lea ecx, [ecx + esi - 0x47fdbb70]
mov dword [0x49ee98], ecx
mov byte [esp + 0x207], 1
mov ecx, dword [0x496dfc]
add ecx, 0x80000231
mov dword [0x496dfc], ecx
mov ecx, dword [esp + 0xac0]
mov esi, esp
mov dword [esi], ecx
lea ecx, [esp + 0x138]
call fcn.0042e260
sub esp, 4
mov ecx, dword [0x49bd38]
mov esi, ecx
dec esi
mov dword [0x49bd38], esi
mov esi, dword [0x4962b4]
or esi, ecx
mov dword [0x4962b4], esi
cmp dword [esp + 0x210], 0
mov dword [esp + 0x4c], eax
jl 0x409597
mov eax, 0xc2210625
mov ecx, dword [0x49a9fc]
sar ecx, 7
xor ecx, 0xdf86d3ed
mov edx, dword [0x4982ec]
or edx, ecx
mov dword [0x4982ec], edx
mov ecx, dword [esp + 0x210]
mov edx, esp
mov dword [edx], 0
lea edx, [esp + 0x138]
mov dword [esp + 0x48], ecx
mov ecx, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
call fcn.00407370
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x40]
call fcn.00413310
sub esp, 8
mov ecx, dword [0x49e088]
and ecx, 0x64adb37e
mov edx, dword [esp + 0x44]
cmp edx, ecx
mov dword [esp + 0x3c], eax
jge 0x409592
mov eax, dword [0x499918]
and eax, 0x3e55
mov cx, word [0x4a83de]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a83de], cx
jmp 0x409597
lea eax, [esp + 0x138]
lea ecx, [esp + 0x8fa]
mov edx, dword [0x4a1664]
or edx, 0xdbfbe2df
mov dword [0x4a1664], edx
mov edx, dword [esp + 0xac8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00420950
cmp eax, 0
jne 0x40966b
mov eax, dword [0x4988a4]
inc eax
mov dword [0x4988a4], eax
mov ecx, dword [0x4a1330]
xor ecx, eax
mov dword [0x4a1330], ecx
mov dword [esp + 0x210], 0xffffffff
mov dx, word [0x4a404a]
mov ax, dx
inc eax
mov si, ax
mov word [0x4a404a], si
movsx eax, dx
add eax, 0xca326ea
mov ecx, dword [0x4a0720]
sub ecx, eax
mov dword [0x4a0720], ecx
mov ecx, dword [esp + 0xac0]
call fcn.00420700
mov eax, dword [0x49de58]
mov ecx, eax
dec ecx
mov dword [0x49de58], ecx
cmp eax, 0x8a811478
jge 0x40965b
mov eax, dword [0x49d4d0]
imul eax, eax, 0x6d38c690
mov dword [0x49d4d0], eax
mov dword [esp + 0x134], 0xd
jmp 0x40968e
mov eax, dword [0x495e54]
xor eax, 0xfe0d7489
mov ecx, dword [0x49c4cc]
sub ecx, eax
mov dword [0x49c4cc], ecx
mov dword [esp + 0x134], 0
lea ecx, [esp + 0x138]
call fcn.00438260
mov ecx, dword [esp + 0x134]
test ecx, ecx
mov dword [esp + 0x38], ecx
je 0x4096c8
jmp 0x4096b2
mov eax, dword [esp + 0x38]
sub eax, 0xd
mov dword [esp + 0x34], eax
je 0x4097bf
jmp 0x409b18
jmp 0x4096cd
mov eax, dword [0x492f50]
mov ecx, dword [0x494618]
or ecx, eax
mov dword [0x494618], ecx
mov eax, dword [0x49f15c]
inc eax
mov dword [0x49f15c], eax
mov ecx, dword [0x49e424]
mov edx, ecx
dec edx
mov dword [0x49e424], edx
sub eax, ecx
mov ecx, dword [0x4a1488]
or ecx, eax
mov dword [0x4a1488], ecx
cmp dword [esp + 0xac4], 0x3af0
jne 0x4097ab
mov eax, 0x933cb9a3
mov ecx, dword [0x49ccc8]
cmp eax, ecx
jg 0x409750
mov eax, dword [0x498294]
mov ecx, eax
dec ecx
mov dword [0x498294], ecx
add eax, 0xb2aadb7a
xor eax, 0x92b1ce8a
mov dword [0x49fdc4], eax
jmp 0x40975f
mov eax, dword [0x4a12ec]
add eax, 0x112cae58
mov dword [0x4a12ec], eax
mov eax, dword [esp + 0xac0]
mov ecx, eax
call fcn.004486c0
cmp eax, 0x500000
jbe 0x40979b
mov eax, dword [0x499290]
xor eax, 0x4896468
or eax, 0xf1569313
mov ecx, dword [0x49d460]
imul ecx, eax
mov dword [0x49d460], ecx
jmp 0x4097bf
mov eax, dword [0x4974a0]
imul eax, eax, 0x99feb1ff
mov dword [0x4974a0], eax
mov eax, dword [0x49ee88]
or eax, 0xde6ed6fc
mov dword [0x49ee88], eax
jmp 0x408d9e
mov eax, dword [0x49caa4]
xor eax, 0xfa0a4292
mov dword [0x49caa4], eax
cmp dword [esp + 0x210], 0
jl 0x40984e
mov eax, dword [0x494e68]
mov ecx, dword [0x49f05c]
or eax, ecx
or eax, 0xfdffd30e
mov dword [0x49f05c], eax
mov eax, dword [esp + 0xac0]
mov ecx, dword [esp + 0x210]
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x30], ecx
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.00407370
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x2c]
call fcn.00413310
sub esp, 8
mov ecx, dword [0x49d2c8]
mov si, word [0x4a3702]
mov word [0x4a3702], si
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov eax, dword [0x49ff40]
add eax, 0x35900233
mov dword [0x49ff40], eax
cmp dword [esp + 0xac8], 0
je 0x409988
test byte [esp + 0x207], 1
jne 0x409988
lea eax, [esp + 0x8fa]
mov ecx, dword [0x49ab94]
not ecx
mov edx, dword [0x499758]
and ecx, edx
and ecx, 0x37d384e0
mov dword [0x499758], ecx
mov ecx, dword [esp + 0xac8]
mov edx, dword [esp + 0xac0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00420950
cmp eax, 0
jne 0x409973
mov eax, dword [0x49e510]
dec eax
mov dword [0x49e510], eax
imul eax, eax, 0x46626a71
add eax, 0x315553ee
mov ecx, dword [0x496d48]
imul ecx, eax
mov dword [0x496d48], ecx
mov ecx, dword [esp + 0xac0]
call fcn.00420700
mov dx, word [0x4a4312]
movsx eax, dx
not eax
mov dx, word [0x4a60a8]
movsx ecx, dx
sar ecx, 2
sub ecx, 0xf84425ea
sub ecx, 0x4e889d06
cmp eax, ecx
jg 0x40996e
mov eax, 0x204f8cce
mov ecx, dword [0x49a708]
shl ecx, 8
sub ecx, 0xebc0f411
cmp eax, ecx
jge 0x409969
mov eax, 0xfbfcfdff
mov ecx, dword [0x4959a0]
shl ecx, 2
imul ecx, ecx, 0xae81cb14
and ecx, 0xa05b329e
cmp eax, ecx
jle 0x409964
jmp 0x409964
jmp 0x409969
jmp 0x40996e
jmp 0x409973
mov eax, dword [0x49e8e4]
not eax
mov ecx, dword [0x49a2ac]
or ecx, eax
mov dword [0x49a2ac], ecx
mov eax, dword [0x49961c]
mov ecx, dword [0x49f9f0]
mov edx, ecx
inc edx
mov dword [0x49f9f0], edx
add ecx, 0xa7a17f14
and eax, ecx
mov si, word [0x4a1f2a]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x4a1f2a], si
mov eax, dword [0x492cf8]
mov ecx, dword [esp + 0x6ac]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 2
call eax
sub esp, 8
mov dword [0x49c574], 0x1f851522
mov ecx, dword [0x492cc4]
mov edx, dword [esp + 0x6ac]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x20], eax
call ecx
sub esp, 4
mov di, word [0x4a3da8]
mov cx, di
dec ecx
mov di, cx
mov word [0x4a3da8], di
movsx ecx, di
add ecx, 0x63de5967
mov dword [0x493fb8], ecx
mov dword [esp + 0x1c], eax
mov eax, esp
lea ecx, [esp + 0x8fa]
mov dword [eax], ecx
mov dword [eax + 4], 0xc7
call fcn.00418560
mov eax, dword [0x4a0770]
mov dx, word [0x4a747a]
mov cx, dx
dec ecx
mov dx, cx
mov word [0x4a747a], dx
movsx ecx, dx
xor eax, ecx
mov ecx, dword [0x497b24]
and ecx, eax
mov dword [0x497b24], ecx
mov eax, esp
lea ecx, [esp + 0x9c1]
mov dword [eax], ecx
mov dword [eax + 4], 0xc7
call fcn.00418560
mov dx, word [0x4a3b12]
movsx eax, dx
mov ecx, dword [0x496fec]
xor ecx, eax
mov dword [0x496fec], ecx
mov eax, esp
lea ecx, [esp + 0x6b3]
mov dword [eax], ecx
mov dword [eax + 4], 0x247
call fcn.00418560
mov eax, dword [0x49c1e0]
shr eax, 3
mov dx, word [0x4a548e]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x4a548e], dx
mov eax, esp
lea ecx, [esp + 0x235]
mov dword [eax], ecx
mov dword [eax + 4], 0x447
call fcn.00418560
mov dx, word [0x4a4c2c]
movsx eax, dx
shr eax, 7
mov dx, word [0x4a8122]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4a8122], dx
lea ecx, [esp + 0x67c]
call fcn.00438260
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3