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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xac0
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 + 0xab8], eax
mov dword [esp + 0xab4], ecx
mov dword [esp + 0xab0], edx
mov dword [esp + 0xaac], esi
mov dword [esp + 0xaa8], edi
mov eax, dword [0x49ab4c]
sar eax, 4
mov ecx, dword [0x499118]
and ecx, 0xd1c6286e
cmp eax, ecx
jl 0x440921
mov eax, dword [0x4a0cc8]
dec eax
mov dword [0x4a0cc8], eax
imul eax, eax, 0x5c2f41e3
xor eax, 0x8280d008
cmp eax, 0x93d99f65
jl 0x44091c
mov eax, dword [0x49e950]
mov cx, word [0x4a6514]
mov dx, cx
not edx
lea eax, [eax + edx + 0x5f2579cd]
mov cx, word [0x4a78b2]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4a78b2], cx
jmp 0x440921
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x811
call fcn.004136b0
mov dword [esp + 0xaa4], eax
mov eax, dword [0x4a1ff0]
add eax, 0xc8d348c9
mov dword [0x4a1ff0], eax
mov eax, dword [esp + 0xaa4]
mov ecx, dword [esp + 0xaa8]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004554d0
mov dword [esp + 0xa7c], eax
mov eax, dword [0x49b534]
or eax, 0x79b89a34
mov dword [0x49b534], eax
mov eax, dword [esp + 0xaa4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0041ef40
mov eax, dword [0x4a1e84]
xor eax, 0x2f641b44
mov dword [0x4a1e84], eax
cmp dword [esp + 0xa7c], 0
jne 0x440c36
mov eax, 0x336fb83a
mov ecx, dword [0x49f968]
mov dx, word [0x4a2f44]
movsx esi, dx
xor ecx, esi
cmp eax, ecx
je 0x440a33
mov eax, 0xaa0f7b51
mov ecx, dword [0x4a2564]
sar ecx, 3
add ecx, 0x4155cd64
cmp eax, ecx
jg 0x440a2e
mov ax, word [0x4a5670]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a5670], ax
movsx ecx, ax
mov ax, word [0x4a67c8]
movsx edx, ax
not edx
add edx, 0xf2ed54c3
mov esi, dword [0x4a03cc]
sar esi, 6
and edx, esi
cmp ecx, edx
jne 0x440a29
jmp 0x440a29
jmp 0x440a2e
jmp 0x440a33
cmp dword [esp + 0xab8], 0
je 0x440ada
mov eax, 0x68321e52
mov ecx, dword [0x498f88]
mov edx, ecx
inc edx
mov dword [0x498f88], edx
cmp eax, ecx
jne 0x440a75
mov eax, dword [0x4985fc]
add eax, 0x408deaa
mov ecx, dword [0x49ad30]
and ecx, eax
mov dword [0x49ad30], ecx
mov eax, 0x539c26b5
mov ecx, dword [esp + 0xab0]
mov dword [esp + 0x138], eax
call fcn.00435a60
mov eax, dword [0x49a5d8]
inc eax
mov dword [0x49a5d8], eax
add eax, 0x10b66e45
mov ecx, dword [esp + 0x138]
cmp ecx, eax
jge 0x440ad5
mov eax, 0xfd03714e
mov cx, word [0x4a3206]
movsx edx, cx
sar edx, 5
cmp eax, edx
jle 0x440ad0
mov dword [0x49ecfc], 0xbfcefb37
jmp 0x440ad5
jmp 0x44309b
mov eax, 0xdfdd753e
mov ecx, dword [0x4997d8]
mov edx, ecx
inc edx
mov dword [0x4997d8], edx
mov edx, 0x5af1432
sub edx, ecx
mov ecx, dword [0x499068]
or ecx, edx
mov dword [0x499068], ecx
mov ecx, dword [esp + 0xab0]
mov edx, dword [esp + 0xaac]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov dword [esp + 0x134], eax
call fcn.0042cdb0
mov dword [esp + 0xa78], eax
mov eax, dword [0x49d150]
shl eax, 0xa
mov ecx, dword [0x49f0e4]
and eax, ecx
mov ecx, dword [0x4a0490]
xor eax, ecx
mov ecx, dword [esp + 0x134]
cmp ecx, eax
jle 0x440b78
mov eax, dword [0x4a1090]
mov ecx, eax
inc ecx
mov dword [0x4a1090], ecx
xor eax, 0x4921b23d
mov ecx, dword [0x49c4b0]
and ecx, eax
mov dword [0x49c4b0], ecx
jmp 0x440b9f
mov eax, dword [0x49b0e4]
dec eax
mov dword [0x49b0e4], eax
mov ecx, dword [0x49c1ec]
dec ecx
mov dword [0x49c1ec], ecx
sub eax, ecx
mov ecx, dword [0x49a3c4]
xor eax, ecx
mov dword [0x49ecec], eax
cmp dword [esp + 0xa78], 0
jg 0x440c10
mov eax, 0xaee24fec
mov ecx, dword [0x49b59c]
shl ecx, 7
mov edx, dword [0x4a0f90]
xor edx, 0xffffffff
and edx, 0xab700c8e
or ecx, edx
cmp eax, ecx
jle 0x440bec
mov eax, dword [0x4a1fa4]
xor eax, 0x1155763f
mov ecx, dword [0x49aac8]
add ecx, eax
mov dword [0x49aac8], ecx
mov ecx, dword [esp + 0xab0]
call fcn.00435a60
mov ax, word [0x4a3b06]
mov cx, ax
add ecx, 0x56f64a6c
mov ax, cx
mov word [0x4a3b06], ax
mov eax, dword [0x4a16f4]
mov ecx, eax
dec ecx
mov dword [0x4a16f4], ecx
add eax, 0x45e161dc
mov ecx, dword [0x49893c]
or ecx, eax
mov dword [0x49893c], ecx
jmp 0x44309b
mov eax, 0xfddfff5f
mov ecx, dword [0x49dcb4]
and ecx, 0x80264618
mov dword [0x49dcb4], ecx
mov ecx, dword [0x49c6f4]
imul ecx, ecx, 0x300a48a0
mov dword [0x49c6f4], ecx
mov ecx, dword [0x49854c]
and ecx, 0xe6303f3e
mov edx, dword [0x49f114]
or edx, ecx
mov dword [0x49f114], edx
mov si, word [0x4a30e2]
mov cx, si
not ecx
mov si, word [0x4a775e]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x4a775e], si
mov ecx, dword [0x4a0a44]
mov edx, ecx
inc edx
mov dword [0x4a0a44], edx
mov edx, dword [0x498794]
or edx, ecx
mov dword [0x498794], edx
mov ecx, dword [0x49b0c0]
or ecx, 0xed890d99
mov dword [0x49b0c0], ecx
mov si, word [0x4a7300]
mov cx, si
dec ecx
mov si, cx
mov word [0x4a7300], si
movsx ecx, si
xor ecx, 0x5f8148c7
mov edx, dword [0x49f9a4]
or edx, ecx
mov dword [0x49f9a4], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0x130], eax
call fcn.004171e0
mov si, word [0x4a3490]
movsx ecx, si
xor ecx, 0x520828
mov dword [0x4a07f0], ecx
mov si, word [0x4a4158]
mov cx, si
inc ecx
mov di, cx
mov word [0x4a4158], di
movsx ecx, si
or ecx, 0x8474862
mov edx, dword [0x4a0978]
imul edx, ecx
mov dword [0x4a0978], edx
mov si, word [0x4a70f8]
movsx ecx, si
sar ecx, 8
mov edx, dword [0x4a279c]
sub edx, ecx
mov dword [0x4a279c], edx
mov ecx, dword [0x4989cc]
mov edx, ecx
dec edx
mov dword [0x4989cc], edx
mov edx, dword [0x499be8]
lea ecx, [edx + ecx - 1]
mov dword [0x499be8], ecx
mov dword [esp + 0x224], 0
mov dword [esp + 0x220], 0
mov si, word [0x4a7c9a]
mov cx, si
add ecx, 0x7dcb9c83
mov si, cx
mov word [0x4a7c9a], si
mov ecx, dword [0x49e9b0]
mov edx, ecx
dec edx
mov dword [0x49e9b0], edx
mov edx, dword [0x49dbac]
add edx, 0xe1e6a1c4
xor ecx, edx
mov edx, dword [0x49d3d4]
add edx, ecx
mov dword [0x49d3d4], edx
mov dword [esp + 0x218], 0xffffffff
mov dword [esp + 0x214], 0xffffffff
mov ecx, dword [0x49eaec]
xor ecx, 0xe223ff3d
mov edx, dword [0x49e63c]
xor ecx, edx
mov edx, dword [esp + 0x130]
cmp edx, ecx
mov dword [esp + 0x12c], eax
jg 0x440e8a
mov eax, 0x75309ef9
mov ecx, dword [0x49cf44]
mov edx, ecx
inc edx
mov dword [0x49cf44], edx
mov si, word [0x4a4bbc]
mov dx, si
inc edx
mov si, dx
mov word [0x4a4bbc], si
movsx edx, si
imul ecx, edx
sub ecx, 0x44415393
cmp eax, ecx
jne 0x440e72
mov eax, dword [0x49f97c]
add eax, 0xd4199e46
mov dword [0x49f97c], eax
jmp 0x440e85
mov eax, dword [0x49cc78]
mov ecx, dword [0x49c0bc]
and ecx, eax
mov dword [0x49c0bc], ecx
jmp 0x440ea9
mov eax, dword [0x49e6bc]
mov ecx, dword [0x4a1ddc]
add eax, ecx
mov ecx, dword [0x4a1284]
and eax, ecx
and eax, 0xc3866007
mov dword [0x4a1284], eax
mov eax, 0xf919fe22
mov dword [esp + 0x210], 0x50
mov ecx, dword [0x499258]
not ecx
add ecx, 0x70c50a56
xor ecx, 0xe089
mov dx, word [0x4a56de]
mov si, dx
add esi, ecx
mov dx, si
mov word [0x4a56de], dx
mov byte [esp + 0x20f], 0
mov ecx, dword [0x49b010]
xor ecx, 0x64a2a2dd
mov dword [0x49b010], ecx
mov ecx, esp
mov dword [ecx], 0
mov dword [esp + 0x128], eax
call fcn.004508e0
add eax, 0x258
adc edx, 0
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], edx
mov eax, dword [0x499f58]
or eax, 0xdcb16a1
mov dword [0x499f58], eax
mov byte [esp + 0x6ac], 0
mov eax, dword [0x4a0d30]
mov ecx, dword [esp + 0x128]
cmp ecx, eax
jge 0x440f96
mov eax, 0xdaa5c650
mov cx, word [0x4a7a3e]
movsx edx, cx
xor edx, 0xffffffff
xor edx, 0x54ea5f8a
cmp eax, edx
jle 0x440f91
mov ax, word [0x4a6524]
movsx ecx, ax
shr ecx, 1
mov ax, word [0x4a33c2]
mov dx, ax
xor edx, ecx
mov ax, dx
mov word [0x4a33c2], ax
jmp 0x440f96
mov eax, dword [esp + 0xaa8]
mov ecx, esp
mov dword [ecx], eax
call fcn.00451d00
mov dword [esp + 0x230], eax
mov eax, dword [0x499498]
imul eax, eax, 0x6fb9b06b
mov dword [0x499498], eax
cmp dword [esp + 0x230], 0x7f
jle 0x440fdf
mov eax, dword [0x4a1350]
add eax, 0xb7fc24fd
mov dword [0x4a1350], eax
jmp 0x442fbc
mov eax, dword [0x4996d8]
xor eax, 0x4eddff5d
mov ecx, dword [0x499f0c]
or ecx, eax
mov dword [0x499f0c], ecx
mov eax, dword [esp + 0xaa8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x9b4]
mov dword [ecx], eax
call fcn.00454dc0
mov ecx, dword [0x497e58]
sar ecx, 1
add ecx, 0x86ef1c4a
mov edx, dword [0x4a1ab0]
xor edx, 0xffffffff
sub edx, 0x4c86b7e
or edx, 0xcf36babd
cmp ecx, edx
mov dword [esp + 0x124], eax
jne 0x441064
mov eax, dword [0x49dc18]
mov ecx, eax
inc ecx
mov dword [0x49dc18], ecx
add eax, 0xa55526c7
mov ecx, dword [0x49f77c]
xor ecx, eax
mov dword [0x49f77c], ecx
mov eax, dword [esp + 0x230]
sub eax, 1
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x230]
sub ecx, 6
cmp eax, ecx
jl 0x44117d
mov eax, dword [0x49dc9c]
add eax, 0xfeffffae
mov dword [0x49dc9c], eax
mov eax, dword [esp + 0x22c]
movsx eax, byte [esp + eax + 0x9b4]
cmp eax, 0x3a
jne 0x441146
mov eax, dword [0x49e3b4]
and eax, 0x11fa6c7b
mov dword [0x49e3b4], eax
mov eax, dword [esp + 0x22c]
mov byte [esp + eax + 0x9b4], 0
mov eax, dword [0x49cd40]
inc eax
mov dword [0x49cd40], eax
and eax, 0x855f7a26
mov dword [0x49cef0], eax
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x230], eax
mov eax, dword [0x4a1c4c]
or eax, 0xc348dc3c
mov dword [0x4a1c4c], eax
mov eax, dword [esp + 0x22c]
lea ecx, [esp + 0x9b4]
lea eax, [eax + ecx + 1]
mov ecx, esp
mov dword [ecx], eax
call fcn.00455640
mov dword [esp + 0x210], eax
mov eax, dword [0x499fdc]
sar eax, 1
and eax, 0xdb8e9326
mov ecx, dword [0x4a0f7c]
xor ecx, eax
mov dword [0x4a0f7c], ecx
jmp 0x44117d
mov eax, dword [0x4a113c]
mov ecx, eax
dec ecx
mov dword [0x4a113c], ecx
add eax, 0x17656891
mov ecx, dword [0x4a1d58]
xor ecx, eax
mov dword [0x4a1d58], ecx
mov eax, dword [esp + 0x22c]
add eax, 0xffffffff
mov dword [esp + 0x22c], eax
jmp 0x441075
mov dword [0x49cac0], 0xc5fd8ccd
mov dword [esp + 0x22c], 0
mov eax, dword [esp + 0x22c]
cmp eax, dword [esp + 0x230]
jg 0x4413ac
mov eax, 0x1d3e8be2
mov ecx, dword [0x49e2a8]
xor ecx, 0xffffffff
add ecx, 0x8a726a5a
cmp eax, ecx
jge 0x44121a
mov eax, dword [0x49d644]
mov ecx, eax
inc ecx
mov dword [0x49d644], ecx
mov ecx, dword [0x4a1948]
dec ecx
mov dword [0x4a1948], ecx
imul ecx, ecx, 0x21da7f43
and eax, ecx
mov ecx, dword [0x4a1f18]
dec ecx
mov dword [0x4a1f18], ecx
or ecx, 0xd30a6ce
or ecx, 0x4cf21d50
cmp eax, ecx
jg 0x441215
mov eax, dword [0x4a2ab0]
xor eax, 0x5a0cd330
mov dword [0x4a2ab0], eax
jmp 0x44121a
mov eax, dword [esp + 0x22c]
mov cl, byte [esp + eax + 0x9b4]
mov byte [esp + eax + 0x8f0], cl
mov dx, word [0x4a7626]
mov ax, dx
add eax, 0x57c298a7
mov dx, ax
mov word [0x4a7626], dx
mov eax, dword [esp + 0x22c]
movsx eax, byte [esp + eax + 0x8f0]
cmp eax, 0x2f
jne 0x441387
mov eax, dword [0x49f140]
xor eax, 0x992d00d0
mov ecx, dword [0x49a450]
sub ecx, eax
mov dword [0x49a450], ecx
mov eax, dword [esp + 0x22c]
mov byte [esp + eax + 0x8f0], 0
mov eax, dword [0x498d84]
or eax, 0xc264cf28
mov dword [0x498d84], eax
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x228]
cmp eax, dword [esp + 0x230]
jg 0x441373
mov eax, 0x2189fe6f
mov cx, word [0x4a4590]
movsx edx, cx
mov esi, dword [0x49aaa4]
xor esi, edx
mov dword [0x49aaa4], esi
mov edx, dword [esp + 0x228]
mov bl, byte [esp + edx + 0x9b4]
mov esi, dword [esp + 0x22c]
sub edx, esi
mov byte [esp + edx + 0x6ac], bl
mov edx, dword [0x4a1d7c]
mov esi, edx
dec esi
mov dword [0x4a1d7c], esi
mov esi, dword [0x49b40c]
sub edx, esi
add edx, 0x47188454
cmp eax, edx
jle 0x441358
mov eax, dword [0x49f52c]
sub eax, 0xc38497e0
cmp eax, 0xcfdffeee
jg 0x441353
mov eax, 0x1ea8743f
mov ecx, dword [0x4a1954]
mov edx, ecx
dec edx
mov dword [0x4a1954], edx
cmp eax, ecx
je 0x44134e
jmp 0x44134e
jmp 0x441353
jmp 0x441358
jmp 0x44135d
mov eax, dword [esp + 0x228]
add eax, 1
mov dword [esp + 0x228], eax
jmp 0x4412a4
mov eax, dword [0x49d424]
xor eax, 0x8010e550
mov dword [0x49d424], eax
jmp 0x4413ac
mov eax, dword [0x49e6b0]
or eax, 0x317faca0
mov dword [0x49e6b0], eax
mov eax, dword [esp + 0x22c]
add eax, 1
mov dword [esp + 0x22c], eax
jmp 0x441192
lea eax, [esp + 0x6ac]
mov ecx, dword [0x49a16c]
imul ecx, ecx, 0x51a09943
and ecx, 0x6f89
mov dx, word [0x4a58a0]
mov si, dx
xor esi, ecx
mov dx, si
mov word [0x4a58a0], dx
mov ecx, esp
mov dword [ecx], eax
call fcn.00451d00
mov ecx, dword [esp + 0xaac]
mov esi, esp
mov dword [esi], ecx
mov dword [esp + 0x120], eax
call fcn.00451d00
mov ecx, dword [esp + 0x120]
add ecx, eax
cmp ecx, 0x1ff
jbe 0x44142d
mov ax, word [0x4a6238]
mov cx, ax
add ecx, 0x46029a
mov ax, cx
mov word [0x4a6238], ax
jmp 0x442fbc
mov eax, dword [0x49d514]
add eax, 0xffeefbbe
mov dword [0x49d514], eax
mov eax, dword [esp + 0xaac]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x6ac]
mov dword [ecx], eax
call fcn.00454dd0
mov ecx, dword [0x49d83c]
xor ecx, 0x2c400d0a
mov dword [0x49d83c], ecx
mov dword [esp + 0x228], 0
mov ecx, dword [0x49fe8c]
or ecx, 0x30fd247e
mov dword [0x49fe8c], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0xd8a
mov dword [esp + 0x11c], eax
call fcn.004136b0
mov dword [esp + 0xaa0], eax
mov eax, dword [0x4a16e4]
imul eax, eax, 0x3db61e0d
mov ecx, dword [0x49dccc]
sar ecx, 2
and eax, ecx
mov ecx, dword [0x498f74]
sub ecx, eax
mov dword [0x498f74], ecx
mov eax, dword [esp + 0xaa0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x67c]
call fcn.0043f7b0
sub esp, 4
mov ecx, dword [0x49e378]
sar ecx, 6
xor ecx, 0x61b41b3e
mov edx, dword [0x4a1e20]
or edx, ecx
mov dword [0x4a1e20], edx
mov ecx, dword [esp + 0xaa0]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x118], eax
call fcn.0041ef40
mov si, word [0x4a552c]
mov ax, si
add eax, 0x366b3f6f
mov si, ax
mov word [0x4a552c], si
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.00428510
cmp eax, 0
je 0x4417b2
mov dword [0x49e348], 0x7d8c5ee8
mov eax, esp
mov dword [eax + 4], 0xc
mov dword [eax], 0x7e2
call fcn.004136b0
mov dword [esp + 0xa9c], eax
mov eax, dword [0x49aff8]
or eax, 0xcf670996
mov dword [0x49aff8], eax
mov ecx, dword [esp + 0xab0]
mov eax, dword [esp + 0xa9c]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x1f8]
mov dword [esp + 0x114], ecx
mov ecx, eax
mov dword [esp + 0x110], eax
call fcn.00415d90
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x110]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x10c], eax
call fcn.00413c70
sub esp, 8
mov dword [esp + 0x22c], eax
mov ecx, dword [esp + 0x110]
call fcn.0044fe00
mov eax, dword [0x49d1f0]
mov ecx, dword [0x49d124]
and eax, ecx
and eax, 0x58a50647
mov dword [0x49d124], eax
mov eax, dword [esp + 0xa9c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.0041ef40
mov eax, dword [0x49e958]
mov ecx, dword [0x498dc0]
mov edx, ecx
dec edx
mov dword [0x498dc0], edx
and eax, ecx
mov ecx, dword [0x49912c]
dec ecx
mov dword [0x49912c], ecx
xor eax, ecx
cmp eax, 0x74bdf539
jge 0x44165e
mov eax, dword [0x49da88]
imul eax, eax, 0x5237178c
mov dword [0x49da88], eax
cmp dword [esp + 0x22c], 0
jne 0x44179d
mov eax, dword [0x49c908]
imul eax, eax, 0x50cc09a
mov dword [0x49c908], eax
mov dword [esp + 0x228], 1
mov eax, dword [0x4999fc]
not eax
add eax, 0xfef90aca
mov ecx, dword [0x4a22d4]
xor ecx, eax
mov dword [0x4a22d4], ecx
mov eax, dword [esp + 0xab0]
mov ecx, esp
mov dword [ecx], 0
mov ecx, eax
mov dword [esp + 0x108], eax
call fcn.00435d50
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0xb
mov ecx, dword [esp + 0x108]
call fcn.00432400
sub esp, 8
mov ecx, dword [0x49fc54]
not ecx
mov dx, word [0x4a74ec]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x4a74ec], dx
mov ecx, esp
mov dword [ecx + 4], 6
mov dword [ecx], 0x10b1
mov dword [esp + 0x104], eax
call fcn.004136b0
mov dword [esp + 0xa98], eax
mov eax, dword [0x49b8d0]
imul eax, eax, 0x78f432da
mov dword [0x49b8d0], eax
mov eax, dword [esp + 0xa98]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x67c]
call fcn.0043f7b0
sub esp, 4
mov ecx, dword [0x49de2c]
imul ecx, ecx, 0xf78cb947
mov dword [0x49de2c], ecx
mov ecx, dword [esp + 0xa98]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 6
mov dword [esp + 0x100], eax
call fcn.0041ef40
mov eax, dword [0x498ea8]
shr eax, 9
add eax, 0x95b4c858
or eax, 0xbc58
mov dx, word [0x4a81e2]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4a81e2], dx
mov ax, word [0x4a410e]
movsx ecx, ax
and ecx, 0xc039422
mov dword [0x49ab68], ecx
mov ax, word [0x4a8060]
mov cx, ax
imul ecx, ecx, 0x231e66af
mov ax, cx
mov word [0x4a8060], ax
mov ecx, esp
lea edx, [esp + 0x6ac]
mov dword [ecx], edx
lea ecx, [esp + 0x1e4]
mov dword [esp + 0xfc], ecx
call fcn.0041b610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xfc]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xf4], eax
call fcn.00420e80
sub esp, 4
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xf0], eax
call fcn.0041c5d0
mov eax, dword [0x4a25bc]
add eax, 0x373be0b9
mov dword [0x4a25bc], eax
mov eax, esp
mov dword [eax + 4], 0x32
mov dword [eax], 0x1b36
call fcn.004136b0
mov dword [esp + 0xa94], eax
mov eax, dword [0x49fb34]
xor eax, 0x111008
mov ecx, dword [0x4a1eb0]
or ecx, eax
mov dword [0x4a1eb0], ecx
mov eax, dword [esp + 0xa94]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1d0]
mov ecx, eax
mov dword [esp + 0xec], eax
call fcn.0041b610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xec]
mov dword [ecx], edx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xe8], eax
call fcn.00420e80
sub esp, 4
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xe4], eax
call fcn.0041c5d0
mov si, word [0x4a649a]
mov ax, si
dec eax
mov si, ax
mov word [0x4a649a], si
movsx eax, si
add eax, 0x9f614125
and eax, 0x5640aa60
mov ecx, dword [0x49e94c]
xor ecx, eax
mov dword [0x49e94c], ecx
mov eax, dword [esp + 0xa94]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x32
call fcn.0041ef40
mov eax, dword [0x4a22b4]
and eax, 0x741132ec
mov dword [0x4a22b4], eax
mov eax, esp
lea ecx, [esp + 0x8f0]
mov dword [eax], ecx
lea eax, [esp + 0x1bc]
mov ecx, eax
mov dword [esp + 0xe0], eax
call fcn.0041b610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xe0]
mov dword [ecx], edx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xdc], eax
call fcn.00420e80
sub esp, 4
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xd8], eax
call fcn.0041c5d0
mov eax, dword [0x4a218c]
or eax, 0x40393156
mov dword [0x4a218c], eax
cmp dword [esp + 0x228], 0
je 0x441c12
mov eax, 0xc9a28bf4
mov ecx, dword [0x4a113c]
dec ecx
mov dword [0x4a113c], ecx
cmp eax, ecx
jg 0x4419c5
mov ax, word [0x4a4f94]
movsx ecx, ax
or ecx, 0xf56783ec
mov edx, dword [0x49d4dc]
add edx, ecx
mov dword [0x49d4dc], edx
jmp 0x4419dd
mov ax, word [0x4a824e]
mov cx, ax
and ecx, 0x3711
mov ax, cx
mov word [0x4a824e], ax
mov eax, 0x32c0499d
mov ecx, esp
mov dword [ecx + 4], 0x44
mov dword [ecx], 0x18
mov dword [esp + 0xd4], eax
call fcn.004136b0
mov dword [esp + 0xa90], eax
mov eax, dword [0x4a12f8]
mov ecx, eax
inc ecx
mov dword [0x4a12f8], ecx
sub eax, 0xb2d53181
and eax, 0xf35fd4a9
mov ecx, dword [esp + 0xd4]
cmp ecx, eax
jg 0x441a3a
mov eax, dword [0x49a758]
or eax, 0x8ec7d083
mov dword [0x49a758], eax
mov eax, 0x49dde794
mov ecx, dword [esp + 0xa90]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x1a8]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], eax
call fcn.0041b610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xd0]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xc8], eax
call fcn.00420e80
sub esp, 4
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc4], eax
call fcn.0041c5d0
mov si, word [0x4a2d3a]
movsx eax, si
sub eax, 0x8cc6edbf
mov ecx, dword [esp + 0xcc]
cmp ecx, eax
jge 0x441ac3
mov dword [0x49b320], 0x8ae060bd
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x3562
call fcn.004136b0
mov dword [esp + 0xa8c], eax
mov cx, word [0x4a7650]
mov ax, cx
inc eax
mov cx, ax
mov word [0x4a7650], cx
movsx eax, cx
mov edx, dword [0x4993a4]
and edx, eax
mov dword [0x4993a4], edx
mov eax, dword [esp + 0xa90]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], 0x44
call fcn.0041ef40
mov eax, dword [0x49a3a4]
imul eax, eax, 0xce820950
mov dword [0x49a3a4], eax
mov ecx, dword [esp + 0xab0]
call fcn.00428510
mov ecx, dword [esp + 0xa8c]
mov edx, esp
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
lea eax, [esp + 0x238]
mov dword [edx], eax
mov dword [esp + 0xc0], eax
call fcn.00454fbb
mov si, word [0x4a4aa4]
mov cx, si
xor ecx, 0x39a1
mov si, cx
mov word [0x4a4aa4], si
mov ecx, dword [esp + 0xa8c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0xbc], eax
call fcn.0041ef40
mov si, word [0x4a5dbc]
mov ax, si
xor eax, 0x566f
mov si, ax
mov word [0x4a5dbc], si
mov eax, esp
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
lea eax, [esp + 0x194]
mov ecx, eax
mov dword [esp + 0xb8], eax
call fcn.0041b610
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xb8]
mov dword [ecx], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0xb4], eax
call fcn.00420e80
sub esp, 4
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xb0], eax
call fcn.0041c5d0
mov eax, dword [0x4a1a90]
xor eax, 0x3ea9a3c0
mov dword [0x4a1a90], eax
mov eax, 0x752e27e4
mov ecx, dword [0x49f364]
add ecx, 0x8c7fe285
mov dword [0x49f364], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x343a
mov dword [esp + 0xac], eax
call fcn.004136b0
mov dword [esp + 0xa88], eax
mov eax, dword [0x49a3ec]
mov ecx, dword [0x49b520]
imul eax, ecx
shl eax, 5
mov dword [0x49b520], eax
mov eax, dword [esp + 0xa88]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x180]
mov ecx, eax
mov dword [esp + 0xa8], eax
call fcn.0041b610
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.00420e80
sub esp, 4
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xa0], eax
call fcn.0041c5d0
mov si, word [0x4a5030]
movsx eax, si
add eax, eax
mov si, word [0x4a5094]
mov cx, si
inc ecx
mov di, cx
mov word [0x4a5094], di
movsx ecx, si
add eax, ecx
mov ecx, dword [esp + 0xac]
cmp ecx, eax
jne 0x441d0e
mov eax, dword [0x498940]
mov ecx, dword [0x4a2478]
imul ecx, ecx, 0xf59f1e1d
sub eax, ecx
mov ecx, dword [0x499e0c]
or ecx, eax
mov dword [0x499e0c], ecx
mov eax, 0xd5d2f55
mov ecx, dword [esp + 0xa88]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x9c], eax
call fcn.0041ef40
mov eax, dword [0x49d6c4]
sar eax, 3
mov ecx, dword [esp + 0x9c]
cmp ecx, eax
jne 0x441d60
mov ax, word [0x4a6972]
mov cx, ax
xor ecx, 0x2b55
mov ax, cx
mov word [0x4a6972], ax
cmp dword [esp + 0x228], 0
je 0x441de8
mov eax, 0x99356951
mov cx, word [0x4a554a]
movsx edx, cx
mov dword [0x4a2a8c], edx
mov edx, dword [esp + 0xab0]
mov esi, esp
mov dword [esi], edx
lea ecx, [esp + 0x67c]
mov dword [esp + 0x98], eax
call fcn.00420e80
sub esp, 4
mov ecx, dword [0x49d050]
and ecx, 0xb453039c
xor ecx, 0x17a5ad71
mov edx, dword [esp + 0x98]
cmp edx, ecx
mov dword [esp + 0x94], eax
jge 0x441de3
mov eax, dword [0x4a188c]
mov ecx, dword [0x4a2968]
or eax, ecx
or eax, 0xeecc7ecb
mov dword [0x4a2968], eax
jmp 0x441de8
mov eax, dword [0x4a24c4]
add eax, 0x9073c069
mov dword [0x4a24c4], eax
mov eax, dword [0x497b6c]
mov ecx, esp
lea edx, [esp + 0x8f0]
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [esp + 0x234], eax
mov si, word [0x4a3e4c]
mov ax, si
imul eax, eax, 0x8c7acb10
mov si, ax
mov word [0x4a3e4c], si
cmp dword [esp + 0x234], 0
jne 0x441e50
mov eax, dword [0x49c99c]
imul eax, eax, 0x2e5709f3
mov dword [0x49c99c], eax
jmp 0x442fbc
mov eax, dword [0x498fe4]
and eax, 0x325ff437
mov dword [0x498fe4], eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x690], xmm0
mov eax, dword [0x498520]
sar eax, 9
add eax, 0x79b5b2dc
and eax, 0xec45c34a
mov cx, word [0x4a80e2]
movsx edx, cx
sub edx, 0x234a6461
cmp eax, edx
je 0x441eba
mov eax, dword [0x497edc]
add eax, 0x6ec61d4f
mov cx, word [0x4a54b8]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4a54b8], cx
jmp 0x441ec4
mov eax, dword [0x49ca78]
mov dword [0x49b29c], eax
mov word [esp + 0x690], 2
mov eax, dword [0x49a100]
or eax, 0x6d693754
mov dword [0x49a100], eax
mov eax, dword [0x497b74]
mov ecx, dword [0x497b78]
mov edx, dword [esp + 0x234]
mov edx, dword [edx + 0xc]
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0x17c]
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 + 0x694], eax
mov eax, dword [0x499214]
add eax, 0x239d04e6
mov dword [0x499214], eax
mov eax, dword [0x497b70]
movzx ecx, word [esp + 0x210]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov word [esp + 0x692], ax
mov ecx, dword [0x49858c]
or ecx, 0xdd0eef3
mov dword [0x49858c], ecx
cmp dword [esp + 0xab4], 0
je 0x44211f
mov eax, dword [0x498ec0]
mov ecx, eax
inc ecx
mov dword [0x498ec0], ecx
add eax, 0x3c01085
mov dx, word [0x4a5002]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4a5002], dx
mov eax, dword [esp + 0xab4]
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.0042b720
mov dword [esp + 0x6a8], eax
mov eax, dword [0x4a16e4]
and eax, 0x912ee45d
mov dword [0x4a16e4], eax
cmp dword [esp + 0x6a8], 0
jge 0x442014
mov eax, dword [0x49e344]
imul eax, eax, 0x7cc7abc2
mov cx, word [0x4a46d8]
mov dx, cx
lea eax, [eax + edx - 0x2793ff1a]
mov cx, ax
mov word [0x4a46d8], cx
jmp 0x442fbc
mov eax, dword [0x49bc34]
sar eax, 7
xor eax, 0x42312892
cmp eax, 0x277ba8b5
je 0x442051
mov eax, dword [0x49eb04]
add eax, 0xa76a8226
mov cx, word [0x4a425c]
mov dx, cx
and eax, edx
and eax, 0xf33a
mov cx, ax
mov word [0x4a425c], cx
mov eax, dword [0x497b8c]
mov ecx, dword [esp + 0x6a8]
mov edx, esp
lea esi, [esp + 0xab4]
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 ecx, dword [0x49937c]
inc ecx
mov dword [0x49937c], ecx
and ecx, 0xf3990643
mov dword [0x49904c], ecx
mov ecx, dword [0x497b8c]
mov edx, dword [esp + 0x6a8]
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 bx, word [0x4a3bf0]
mov cx, bx
xor ecx, 0x83cd
mov bx, word [0x4a4bd8]
mov dx, bx
or ecx, edx
mov bx, word [0x4a486e]
mov dx, bx
add edx, ecx
mov bx, dx
mov word [0x4a486e], bx
mov dword [esp + 0x84], eax
jmp 0x442253
mov eax, dword [0x4a23c4]
mov ecx, 0x57570217
sub ecx, eax
mov eax, dword [0x49f288]
xor eax, ecx
mov dword [0x49f288], eax
mov eax, dword [0x497b90]
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 + 0x6a8], eax
mov eax, dword [0x49d5f8]
mov ecx, eax
inc ecx
mov dword [0x49d5f8], ecx
mov ecx, dword [0x4a00ac]
mov edx, ecx
inc edx
mov dword [0x4a00ac], edx
add ecx, 0x3667cf87
xor eax, ecx
mov ecx, dword [0x49ab20]
sub ecx, eax
mov dword [0x49ab20], ecx
cmp dword [esp + 0x6a8], 0xffffffff
jne 0x4421c6
mov eax, dword [0x49dc94]
mov ecx, dword [0x499554]
imul ecx, ecx, 0xe5a35630
sub eax, ecx
mov ecx, dword [0x49b360]
imul ecx, eax
mov dword [0x49b360], ecx
jmp 0x442fbc
lea eax, [esp + 0x690]
mov ecx, dword [0x4997f8]
xor ecx, 0x4bd7ca34
mov dword [0x4997f8], ecx
mov ecx, dword [0x497b68]
mov edx, dword [esp + 0x6a8]
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 0x442222
mov ax, word [0x4a4246]
mov cx, ax
or ecx, 1
mov ax, cx
mov word [0x4a4246], ax
jmp 0x442f2d
mov eax, 0x4bb70860
mov cx, word [0x4a4c76]
movsx edx, cx
imul edx, edx, 0x9f48d5af
cmp eax, edx
jne 0x44224e
mov eax, dword [0x49f05c]
add eax, 0xb400601
mov dword [0x49f05c], eax
jmp 0x442253
lea eax, [esp + 0x67c]
mov ecx, dword [0x499b14]
xor ecx, 0xeac76b9c
mov dword [0x499b14], ecx
mov ecx, dword [0x497b88]
lea edx, [esp + 0x67c]
mov dword [esp + 0x80], ecx
mov ecx, edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
call fcn.00428510
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], eax
call fcn.004323f0
mov ecx, dword [esp + 0x6a8]
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 + 0x6a4], eax
mov eax, dword [0x4a0910]
dec eax
mov dword [0x4a0910], eax
mov ecx, dword [0x4990a8]
and ecx, eax
mov dword [0x4990a8], ecx
mov eax, dword [esp + 0x6a4]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x70], eax
call fcn.00428510
mov ecx, dword [esp + 0x70]
cmp ecx, eax
jae 0x442321
mov ax, word [0x4a6564]
mov cx, ax
or ecx, 0x9b7f
mov ax, cx
mov word [0x4a6564], ax
jmp 0x442f2d
mov eax, dword [0x49acec]
imul eax, eax, 0x84d68c33
mov dword [0x49acec], eax
mov ecx, dword [esp + 0xab0]
call fcn.00435a60
mov dword [0x4a025c], 0xc9438754
mov eax, 0xfc34c87e
mov cx, word [0x4a4ee6]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a4ee6], cx
movsx edx, cx
add edx, 0xd588fced
xor edx, 0x5e3d1dda
cmp eax, edx
je 0x442388
mov eax, dword [0x499d18]
imul eax, eax, 0x84004a98
mov dword [0x499d18], eax
mov eax, dword [0x497b80]
mov ecx, dword [esp + 0x6a8]
mov edx, esp
lea esi, [esp + 0x238]
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 + 0x6a4], eax
mov eax, dword [0x49e3e8]
imul eax, eax, 0xdffb4b9
mov ecx, dword [0x4996b4]
sar ecx, 2
add eax, ecx
mov ecx, dword [0x49a740]
sub ecx, eax
mov dword [0x49a740], ecx
cmp dword [esp + 0x6a4], 0
jle 0x442411
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x224]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
call fcn.0043b020
cmp eax, 0
je 0x442426
mov eax, dword [0x49d8a8]
imul eax, eax, 0xb1a875c1
mov dword [0x49d8a8], eax
jmp 0x442d40
mov eax, dword [0x497e78]
imul eax, eax, 0xc3358aa3
mov dword [0x497e78], eax
mov eax, dword [esp + 0xab0]
mov ecx, eax
mov dword [esp + 0x6c], eax
call fcn.00428510
mov ecx, dword [esp + 0x6a4]
add eax, ecx
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x6c]
call fcn.0042f8c0
sub esp, 8
mov dx, word [0x4a4a1c]
movsx eax, dx
mov ecx, dword [0x49b740]
or eax, ecx
mov ecx, dword [0x49cb28]
imul ecx, eax
mov dword [0x49cb28], ecx
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.00416130
cmp eax, 0
jne 0x4424b4
mov eax, dword [0x49e4ac]
and eax, 0x7942a60f
mov dword [0x49e4ac], eax
jmp 0x442d40
mov dword [0x4a03f0], 0x21a883d0
mov ecx, dword [esp + 0xab0]
mov eax, dword [esp + 0x6a4]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x238]
mov dword [edx], eax
call fcn.00439be0
sub esp, 8
mov si, word [0x4a560a]
mov cx, si
and ecx, 0xde7f
mov si, cx
mov word [0x4a560a], si
cmp dword [esp + 0x218], 0
mov dword [esp + 0x68], eax
jge 0x442902
mov eax, dword [0x49d4ac]
and eax, 0xc7a6a0f0
mov dword [0x49d4ac], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x343a
call fcn.004136b0
mov dword [esp + 0xa84], eax
mov eax, dword [0x4a089c]
xor eax, 0xdf01bcd6
mov dword [0x4a089c], eax
mov ecx, dword [esp + 0xab0]
mov eax, dword [esp + 0xa84]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x168]
mov dword [esp + 0x64], ecx
mov ecx, eax
mov dword [esp + 0x60], eax
call fcn.00415d90
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x60]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x5c], eax
call fcn.00413c70
sub esp, 8
mov dword [esp + 0x218], eax
mov ecx, dword [esp + 0x60]
call fcn.0044fe00
mov eax, dword [0x49a74c]
shl eax, 9
add eax, 0xe01dd1b1
mov ecx, dword [0x49b260]
sar ecx, 6
xor eax, ecx
cmp eax, 0x8277f9bf
jne 0x4425e1
mov ax, word [0x4a5404]
mov cx, ax
add ecx, 0xa1c70b00
mov ax, cx
mov word [0x4a5404], ax
jmp 0x4425f0
mov eax, dword [0x4a0f18]
xor eax, 0x80ed0367
mov dword [0x4a0f18], eax
mov eax, dword [esp + 0xa84]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041ef40
mov eax, dword [0x4a019c]
and eax, 0x169e2249
mov dword [0x4a019c], eax
cmp dword [esp + 0x218], 0
jl 0x4428e6
mov eax, dword [0x49ff54]
or eax, 0x3abf7d4b
mov dword [0x49ff54], eax
mov eax, dword [esp + 0x218]
add eax, 4
mov dword [esp + 0x218], eax
mov eax, dword [0x49bb60]
dec eax
mov dword [0x49bb60], eax
mov ecx, dword [0x49e3d4]
or ecx, eax
mov dword [0x49e3d4], ecx
mov eax, dword [esp + 0xab0]
mov ecx, esp
mov dword [ecx], eax
call fcn.004147b0
mov dword [esp + 0x214], eax
mov eax, dword [0x49d0fc]
inc eax
mov dword [0x49d0fc], eax
cmp eax, 0x37fdf7ff
jge 0x4426ae
mov ax, word [0x4a400a]
movsx ecx, ax
add ecx, 0x620176c
or ecx, 0x933927cd
mov edx, dword [0x49c484]
imul edx, ecx
mov dword [0x49c484], edx
cmp dword [esp + 0x214], 0
jge 0x4428ce
mov eax, dword [0x4996b0]
mov ecx, 0x999d8255
sub ecx, eax
mov eax, dword [0x4984a0]
shl eax, 5
sub ecx, eax
mov eax, dword [0x498ca0]
add eax, ecx
mov dword [0x498ca0], eax
mov eax, esp
mov dword [eax + 4], 0xb
mov dword [eax], 0x1449
call fcn.004136b0
mov dword [esp + 0xa80], eax
mov eax, dword [0x49ed6c]
inc eax
mov dword [0x49ed6c], eax
mov ecx, dword [0x49cda8]
xor eax, ecx
xor eax, 0x75d70ad9
mov dword [0x49cda8], eax
mov ecx, dword [esp + 0xab0]
mov eax, dword [esp + 0xa80]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x154]
mov dword [esp + 0x58], ecx
mov ecx, eax
mov dword [esp + 0x54], eax
call fcn.00415d90
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.00413c70
sub esp, 8
mov dword [esp + 0x6a4], eax
mov ecx, dword [esp + 0x54]
call fcn.0044fe00
mov eax, dword [0x49a600]
dec eax
mov dword [0x49a600], eax
imul eax, eax, 0x85b87266
cmp eax, 0x3b8bd91b
jl 0x44279b
mov eax, dword [0x498e60]
xor eax, 0xbfefbafd
mov dword [0x498e60], eax
mov eax, 0xa13c6aac
mov ecx, dword [esp + 0xa80]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0xb
mov dword [esp + 0x4c], eax
call fcn.0041ef40
mov si, word [0x4a2fba]
movsx eax, si
sar eax, 4
xor eax, 0x90aea738
xor eax, 0x5b7af381
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x4427ed
mov eax, dword [0x499a04]
add eax, 0xdd87854
mov dword [0x499a04], eax
cmp dword [esp + 0x6a4], 0
jl 0x44283d
mov eax, 0xd82ae11d
mov ecx, dword [0x49de4c]
and ecx, 0x9578fe71
cmp eax, ecx
jle 0x442838
mov eax, dword [0x4a2678]
mov ecx, dword [0x49e708]
shl ecx, 6
xor ecx, 0x887ffd3b
or eax, ecx
mov ecx, dword [0x4999a4]
xor ecx, eax
mov dword [0x4999a4], ecx
jmp 0x442d40
mov eax, dword [0x49884c]
mov ecx, eax
dec ecx
mov dword [0x49884c], ecx
or eax, 0x7bb5201a
mov ecx, dword [0x49f4f8]
add ecx, 0xad46c68c
cmp eax, ecx
jge 0x4428c9
mov eax, dword [0x49da7c]
or eax, 0x76116d98
mov cx, word [0x4a766a]
movsx edx, cx
sar edx, 2
xor edx, 0xf8db1c6
cmp eax, edx
jle 0x4428b4
mov eax, 0x2fb27da6
mov ecx, dword [0x49cafc]
sar ecx, 6
or ecx, 0xe3606ce5
cmp eax, ecx
jge 0x4428aa
jmp 0x4428af
jmp 0x4428af
jmp 0x4428c4
mov eax, dword [0x499684]
imul eax, eax, 0xeba34174
mov dword [0x499684], eax
jmp 0x4428c9
jmp 0x4428ce
mov ax, word [0x4a461c]
mov cx, ax
add ecx, 0x15c6e4e
mov ax, cx
mov word [0x4a461c], ax
mov eax, dword [0x49f5dc]
mov ecx, eax
dec ecx
mov dword [0x49f5dc], ecx
mov ecx, dword [0x4a0b98]
add ecx, eax
mov dword [0x4a0b98], ecx
mov eax, dword [0x49f250]
add eax, 0xd7d396c9
mov ecx, dword [0x498594]
sub ecx, eax
mov dword [0x498594], ecx
cmp dword [esp + 0x214], 0
jl 0x4429c9
mov eax, 0xc02b7812
mov ecx, dword [0x4a076c]
mov edx, ecx
inc edx
mov dword [0x4a076c], edx
cmp eax, ecx
jl 0x442984
mov eax, 0x6671a582
mov cx, word [0x4a7b62]
movsx edx, cx
add edx, 0x239a8bc5
sub edx, 0xeaaa0268
cmp eax, edx
jne 0x44297f
mov ax, word [0x4a441c]
mov cx, ax
or ecx, 0x8cdd
mov ax, cx
mov word [0x4a441c], ax
jmp 0x442984
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.00428510
sub eax, dword [esp + 0x218]
cmp eax, dword [esp + 0x214]
jb 0x4429ba
mov eax, dword [0x49b918]
xor eax, 0xfd7eb775
mov dword [0x49b918], eax
jmp 0x442d40
mov eax, dword [0x49f310]
or eax, 0xd9308cf2
mov dword [0x49f310], eax
mov eax, dword [0x49d6ec]
mov ecx, dword [0x498134]
imul eax, ecx
imul eax, eax, 0xe1af1ad1
mov dword [0x498134], eax
cmp dword [esp + 0xab8], 0
je 0x442cb8
test byte [esp + 0x20f], 1
jne 0x442cb8
mov eax, dword [0x49b758]
mov ecx, eax
inc ecx
mov dword [0x49b758], ecx
add eax, 0x852c688
mov dx, word [0x4a68aa]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4a68aa], dx
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.00428510
cmp eax, 0x4000
jbe 0x442ca5
mov ax, word [0x4a4140]
movsx ecx, ax
cmp ecx, 0xd430a5c4
jg 0x442a68
mov eax, dword [0x49bce4]
mov ecx, dword [0x4a2714]
sub ecx, eax
mov dword [0x4a2714], ecx
mov byte [esp + 0x20f], 1
mov eax, dword [0x49d804]
mov ecx, eax
dec ecx
mov dword [0x49d804], ecx
or eax, 0x584044d0
mov ecx, dword [0x49a86c]
imul ecx, eax
mov dword [0x49a86c], ecx
mov eax, dword [esp + 0xab0]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x140]
call fcn.0042f810
sub esp, 4
mov ecx, dword [0x4a1538]
xor ecx, 0x4f19fd10
mov dword [0x4a1538], ecx
cmp dword [esp + 0x218], 0
mov dword [esp + 0x48], eax
jl 0x442b95
mov eax, dword [0x49ad7c]
xor eax, 0xa3842120
mov dword [0x49ad7c], eax
mov eax, dword [esp + 0x218]
mov ecx, esp
mov dword [ecx], 0
lea ecx, [esp + 0x140]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
call fcn.00435d50
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x44]
call fcn.00432400
sub esp, 8
mov ecx, dword [0x49d308]
imul ecx, ecx, 0x305a9245
and ecx, 0xff6edb26
mov edx, dword [0x498064]
dec edx
mov dword [0x498064], edx
and edx, 0x5c412b03
cmp ecx, edx
mov dword [esp + 0x3c], eax
jg 0x442b90
mov ax, word [0x4a4742]
movsx ecx, ax
add ecx, 0x4a611ac4
cmp ecx, 0x41284482
jge 0x442b7c
mov eax, dword [0x49bab0]
or eax, 0xcdf5e575
mov dword [0x49bab0], eax
jmp 0x442b8b
mov eax, dword [0x49c39c]
add eax, 0x266f0d0
mov dword [0x49c39c], eax
jmp 0x442b90
jmp 0x442b95
lea eax, [esp + 0x140]
lea ecx, [esp + 0x8f0]
mov edx, dword [0x49b54c]
mov esi, edx
inc esi
mov dword [0x49b54c], esi
mov esi, dword [0x4a0aa0]
xor esi, edx
mov dword [0x4a0aa0], esi
mov edx, dword [esp + 0xab8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00418580
cmp eax, 0
jne 0x442c3e
mov eax, dword [0x49edd4]
imul eax, eax, 0xfde87e7d
mov dword [0x49edd4], eax
mov dword [esp + 0x218], 0xffffffff
mov eax, dword [0x4a0150]
xor eax, 0xc4e649b8
mov dword [0x4a0150], eax
mov ecx, dword [esp + 0xab0]
call fcn.00435a60
mov dx, word [0x4a4a38]
movsx eax, dx
sar eax, 4
imul eax, eax, 0x798e16a4
mov dword [0x49d69c], eax
mov dword [esp + 0x13c], 0xd
jmp 0x442c66
mov eax, dword [0x4a1120]
mov ecx, eax
inc ecx
mov dword [0x4a1120], ecx
mov ecx, dword [0x4a1dd0]
imul ecx, eax
mov dword [0x4a1dd0], ecx
mov dword [esp + 0x13c], 0
lea ecx, [esp + 0x140]
call fcn.0041c5d0
mov ecx, dword [esp + 0x13c]
test ecx, ecx
mov dword [esp + 0x38], ecx
je 0x442ca0
jmp 0x442c8a
mov eax, dword [esp + 0x38]
sub eax, 0xd
mov dword [esp + 0x34], eax
je 0x442d40
jmp 0x4430a3
jmp 0x442ca5
mov eax, dword [0x4a09bc]
mov ecx, dword [0x49f3e0]
add ecx, eax
mov dword [0x49f3e0], ecx
mov eax, dword [0x499474]
xor eax, 0xc3a0da54
mov dword [0x499474], eax
cmp dword [esp + 0xab4], 0x3aed
jne 0x442d27
mov eax, dword [0x498bec]
and eax, 0x80daa61f
mov ecx, dword [0x4a0914]
or ecx, eax
mov dword [0x4a0914], ecx
mov eax, dword [esp + 0xab0]
mov ecx, eax
call fcn.00428510
cmp eax, 0x500000
jbe 0x442d1d
mov eax, dword [0x49c5d0]
add eax, 0x25ac79f0
mov dword [0x49c5d0], eax
jmp 0x442d40
mov dword [0x49cd38], 0x873ad677
mov eax, dword [0x49a120]
add eax, 0x71bfbcad
mov cx, ax
mov word [0x4a47e0], cx
jmp 0x442347
mov eax, 0x8a7d53a2
mov ecx, 0xd9247b04
mov dx, word [0x4a3856]
movsx esi, dx
shl esi, 0xa
mov edi, dword [0x4a2ba4]
sub ecx, edi
xor esi, ecx
cmp eax, esi
je 0x442d86
mov eax, dword [0x49d16c]
add eax, 0x9d8e3552
mov ecx, dword [0x49db48]
and ecx, eax
mov dword [0x49db48], ecx
jmp 0x442db3
mov ax, word [0x4a6ca4]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a6ca4], ax
xor ecx, 0x21cd
mov ax, word [0x4a31e2]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x4a31e2], ax
cmp dword [esp + 0x218], 0
jl 0x442e2d
mov eax, dword [0x49be04]
or eax, 0x2df9508
mov dword [0x49be04], eax
mov eax, dword [esp + 0xab0]
mov ecx, dword [esp + 0x218]
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x30], ecx
mov ecx, eax
mov dword [esp + 0x2c], eax
call fcn.00435d50
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.00432400
sub esp, 8
mov ecx, dword [0x498d44]
xor ecx, 0xb914566b
mov edx, dword [0x49abcc]
or edx, ecx
mov dword [0x49abcc], edx
mov dword [esp + 0x28], eax
mov ax, word [0x4a3f02]
movsx ecx, ax
not ecx
or ecx, 0x85846d49
mov edx, dword [0x499818]
xor edx, ecx
mov dword [0x499818], edx
cmp dword [esp + 0xab8], 0
je 0x442f23
test byte [esp + 0x20f], 1
jne 0x442f23
lea eax, [esp + 0x8f0]
mov cx, word [0x4a6edc]
mov dx, cx
or edx, 0x3507
mov cx, dx
mov word [0x4a6edc], cx
mov edx, dword [esp + 0xab8]
mov esi, dword [esp + 0xab0]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00418580
cmp eax, 0
jne 0x442f14
mov eax, 0xffbc2ba6
mov ecx, dword [0x4987f0]
add ecx, 0x119734f0
mov dword [0x4987f0], ecx
mov ecx, dword [esp + 0xab0]
mov dword [esp + 0x24], eax
call fcn.00435a60
mov dx, word [0x4a40ac]
mov ax, dx
inc eax
mov dx, ax
mov word [0x4a40ac], dx
movsx eax, dx
add eax, 0xd06ff29c
and eax, 0x7b959a2b
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jle 0x442f0f
mov dword [0x49cdd8], 0x58304a49
jmp 0x442f14
mov eax, dword [0x49bf94]
and eax, 0x8616cc62
mov dword [0x49bf94], eax
mov dword [0x49af28], 0xbf7fbffe
mov eax, dword [0x497b98]
mov ecx, dword [esp + 0x6a8]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 2
call eax
sub esp, 8
mov ecx, dword [0x4a1b48]
mov edx, dword [0x4a29dc]
xor edx, ecx
mov dword [0x4a29dc], edx
mov ecx, dword [0x497b64]
mov edx, dword [esp + 0x6a8]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x20], eax
call ecx
sub esp, 4
mov di, word [0x4a651c]
mov cx, di
inc ecx
mov di, cx
mov word [0x4a651c], di
movsx ecx, di
mov edx, dword [0x4996e4]
add ecx, edx
xor ecx, 0x52570438
cmp ecx, 0xe84b5ae9
mov dword [esp + 0x1c], eax
jle 0x442fb7
mov dword [0x49a98c], 0x6076b580
jmp 0x442fbc
mov eax, esp
lea ecx, [esp + 0x8f0]
mov dword [eax], ecx
mov dword [eax + 4], 0xc4
call fcn.004279a0
mov dx, word [0x4a570a]
mov ax, dx
xor eax, 0xfbbd
mov dx, ax
mov word [0x4a570a], dx
mov eax, esp
lea ecx, [esp + 0x9b4]
mov dword [eax], ecx
mov dword [eax + 4], 0xc4
call fcn.004279a0
mov eax, dword [0x49f920]
mov ecx, eax
inc ecx
mov dword [0x49f920], ecx
add eax, 0xaa9425bb
xor eax, 0x4aee
mov dx, word [0x4a6e28]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x4a6e28], dx
mov eax, esp
lea ecx, [esp + 0x6ac]
mov dword [eax], ecx
mov dword [eax + 4], 0x244
call fcn.004279a0
mov eax, dword [0x4a2024]
or eax, 0xdf39ff41
mov dword [0x4a2024], eax
mov eax, esp
lea ecx, [esp + 0x238]
mov dword [eax], ecx
mov dword [eax + 4], 0x444
call fcn.004279a0
mov eax, dword [0x49ce28]
shl eax, 3
mov ecx, 0x3b37d031
sub ecx, eax
and ecx, 0x54d7853c
mov eax, dword [0x49e7a4]
sub eax, ecx
mov dword [0x49e7a4], eax
lea ecx, [esp + 0x67c]
call fcn.0041c5d0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3