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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa50
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 ebx, 0x748f87dc
mov dword [esp + 0xa48], eax
mov dword [esp + 0xa44], ecx
mov dword [esp + 0xa40], edx
mov dword [esp + 0xa3c], esi
mov dword [esp + 0xa38], edi
mov eax, dword [0x4aab68]
mov ecx, eax
dec ecx
mov dword [0x4aab68], ecx
cmp ebx, eax
jg 0x41f33a
mov eax, 0x18b0e022
mov cx, word [0x49b1d8]
movsx edx, cx
xor edx, 0xffffffff
cmp eax, edx
jg 0x41f335
mov eax, dword [0x4a8874]
and eax, 0x2a157051
mov dword [0x4a8874], eax
jmp 0x41f33a
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x444a
call fcn.00403e20
mov dword [esp + 0xa34], eax
mov eax, dword [0x4b0698]
add eax, 0x802f7448
mov dword [0x4b0698], eax
mov eax, dword [esp + 0xa34]
mov ecx, dword [esp + 0xa38]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00454ed0
mov dword [esp + 0xa0c], eax
mov eax, dword [0x4a1628]
mov ecx, 0x84161ba8
sub ecx, eax
mov si, word [0x49aa58]
mov ax, si
add eax, ecx
mov si, ax
mov word [0x49aa58], si
mov eax, dword [esp + 0xa34]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.0040f650
mov si, word [0x499724]
mov ax, si
or eax, 0x2d81
mov si, ax
mov word [0x499724], si
cmp dword [esp + 0xa0c], 0
jne 0x41f529
mov eax, 0x35aebc37
mov cx, word [0x49a536]
movsx edx, cx
cmp eax, edx
jge 0x41f40c
mov eax, dword [0x4b06ec]
imul eax, eax, 0x3b800014
mov dword [0x4b06ec], eax
cmp dword [esp + 0xa48], 0
je 0x41f48d
mov eax, dword [0x4a2340]
imul eax, eax, 0x3afffcd6
mov cx, word [0x499dec]
movsx edx, cx
xor edx, 0xffffffff
imul eax, edx
cmp eax, 0x2c3e4a62
jle 0x41f464
mov eax, dword [0x4ac8f4]
mov ecx, eax
inc ecx
mov dword [0x4ac8f4], ecx
mov dx, word [0x49e420]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x49e420], dx
mov ecx, dword [esp + 0xa40]
call fcn.0042ec20
mov ax, word [0x49dc16]
mov cx, ax
imul ecx, ecx, 0xeefff98
mov ax, cx
mov word [0x49dc16], ax
jmp 0x421948
mov eax, dword [0x4aa1f0]
and eax, 0xb7e5f6c6
mov dword [0x4aa1f0], eax
mov eax, dword [esp + 0xa40]
mov ecx, dword [esp + 0xa3c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.0040a520
mov dword [esp + 0xa08], eax
mov si, word [0x4a10a2]
movsx eax, si
add eax, 0xa853e4c3
xor eax, 0x8707f0ed
mov ecx, dword [0x4a2518]
sub ecx, eax
mov dword [0x4a2518], ecx
cmp dword [esp + 0xa08], 0
jg 0x41f50c
mov dword [0x4a1644], 0x1715d163
mov ecx, dword [esp + 0xa40]
call fcn.0042ec20
mov word [0x49f046], 0xe17d
mov ax, word [0x499d3a]
mov cx, ax
imul ecx, ecx, 0x95081072
mov ax, cx
mov word [0x499d3a], ax
jmp 0x421948
mov eax, dword [0x4a40e8]
imul eax, eax, 0x95015039
mov dword [0x4a40e8], eax
mov eax, dword [0x4ac5b4]
mov ecx, eax
dec ecx
mov dword [0x4ac5b4], ecx
add eax, 0xcdb9d30b
mov ecx, dword [0x4aaee4]
or eax, ecx
mov ecx, dword [0x4a6dd0]
or ecx, eax
mov dword [0x4a6dd0], ecx
mov word [0x49f4c8], 0x2bb4
mov eax, dword [0x4a5720]
mov ecx, eax
inc ecx
mov dword [0x4a5720], ecx
add eax, 0xa0d4d576
mov ecx, dword [0x4afe80]
and ecx, eax
mov dword [0x4afe80], ecx
mov eax, dword [0x4a4df8]
mov ecx, dword [0x4a34a8]
sub ecx, 0xd990130a
add ecx, 0x5dcc617d
cmp eax, ecx
jg 0x41f5ba
mov eax, dword [0x4a81e0]
add eax, 0x33bdd085
mov dword [0x4a81e0], eax
mov dword [0x4a4c5c], 0x99a2d16e
mov eax, dword [0x4a3a10]
imul eax, eax, 0x74efdb84
or eax, 0xfc1fe479
cmp eax, 0x303180
jne 0x41f5f7
mov eax, dword [0x4a406c]
mov ecx, 0x1a4589b1
sub ecx, eax
mov eax, dword [0x4acf54]
sub eax, ecx
mov dword [0x4acf54], eax
mov eax, 0x405c6e79
lea ecx, [esp + 0x65c]
mov dword [esp + 0x130], eax
call fcn.00443b00
mov ecx, dword [0x4a31b4]
or ecx, 0xc2acd10a
mov dword [0x4a31b4], ecx
mov ecx, dword [0x4a9310]
not ecx
mov dword [0x4aff64], ecx
mov ecx, dword [0x4a22f4]
add ecx, 0x89a823c9
mov edx, dword [0x4aaa48]
dec edx
mov dword [0x4aaa48], edx
or ecx, edx
mov dword [0x4ab1dc], ecx
mov ecx, dword [0x4ac298]
sar ecx, 3
or ecx, 0x115617d1
mov edx, dword [0x4abd58]
imul edx, ecx
mov dword [0x4abd58], edx
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov si, word [0x49e716]
mov cx, si
add ecx, 0x63571e74
mov si, cx
mov word [0x49e716], si
mov si, word [0x4a0216]
movsx ecx, si
and ecx, 0x469651b2
mov edx, dword [esp + 0x130]
cmp edx, ecx
mov dword [esp + 0x12c], eax
jge 0x41f6f0
mov eax, dword [0x4aa078]
mov ecx, dword [0x4a85f0]
shr ecx, 9
add ecx, 0xab3933c8
xor eax, ecx
mov dx, word [0x49b59c]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x49b59c], dx
mov dword [esp + 0x210], 0xffffffff
mov dword [esp + 0x20c], 0xffffffff
mov eax, dword [0x4a3034]
or eax, 0x82d2e903
mov dword [0x4a3034], eax
mov dword [esp + 0x208], 0x50
mov eax, dword [0x4ab364]
mov ecx, dword [0x4a1bb0]
lea eax, [eax + ecx - 0x622a1bee]
mov dword [0x4a1bb0], eax
mov byte [esp + 0x207], 0
mov eax, dword [0x4a6540]
dec eax
mov dword [0x4a6540], eax
and eax, 0xe4f5e86b
mov ecx, dword [0x4a8424]
imul ecx, eax
mov dword [0x4a8424], ecx
mov eax, esp
mov dword [eax], 0
call fcn.00450b60
add eax, 0x258
adc edx, 0
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
mov eax, dword [0x4a51a4]
and eax, 0xffbff45f
mov dword [0x4a51a4], eax
mov byte [esp + 0x696], 0
mov eax, dword [0x4a71e4]
imul eax, eax, 0x31bd8455
mov dword [0x4a71e4], eax
mov eax, dword [esp + 0xa38]
mov ecx, esp
mov dword [ecx], eax
call fcn.00451b50
mov dword [esp + 0x22c], eax
mov word [0x49f0a0], 0xaebf
cmp dword [esp + 0x22c], 0x7f
jle 0x41f818
mov eax, 0xe6ab8a80
mov ecx, dword [0x4a3dbc]
sub ecx, 0xf2af8097
cmp eax, ecx
jg 0x41f804
mov eax, dword [0x4a5000]
imul eax, eax, 0xf3fcb902
mov dword [0x4a5000], eax
jmp 0x41f813
mov eax, dword [0x4a98fc]
or eax, 0x40020911
mov dword [0x4a98fc], eax
jmp 0x42182a
mov ax, word [0x49b9fe]
mov cx, ax
and ecx, 0x6311
mov ax, cx
mov word [0x49b9fe], ax
mov ecx, dword [esp + 0xa38]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x962]
mov dword [edx], ecx
call fcn.00454c90
mov ecx, dword [0x4b0e90]
or ecx, 0xc289b22d
mov dword [0x4b0e90], 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 0x41f9ad
mov eax, 0xaec224f1
mov cx, word [0x4a136e]
movsx edx, cx
not edx
mov esi, dword [0x4a2c88]
add esi, 0x68447709
and edx, esi
cmp eax, edx
jl 0x41f8c8
mov eax, dword [0x4a3db0]
xor eax, 0x15a16590
mov dword [0x4a3db0], eax
jmp 0x41f8e6
mov eax, dword [0x4b0e88]
or eax, 0x83a174e1
and eax, 0xc3f975ff
mov ecx, dword [0x4aaf5c]
imul ecx, eax
mov dword [0x4aaf5c], ecx
mov eax, dword [esp + 0x228]
movsx eax, byte [esp + eax + 0x962]
cmp eax, 0x3a
jne 0x41f98d
mov eax, dword [0x4aa024]
xor eax, 0x2f49c078
mov dword [0x4aa024], eax
mov eax, dword [esp + 0x228]
mov byte [esp + eax + 0x962], 0
mov eax, dword [0x4afd30]
or eax, 0xb41e4d58
mov dword [0x4afd30], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x22c], eax
mov eax, dword [0x4a40e8]
or eax, 0xdaf7e7da
mov dword [0x4a40e8], eax
mov eax, dword [esp + 0x228]
lea ecx, [esp + 0x962]
lea eax, [eax + ecx + 1]
mov ecx, esp
mov dword [ecx], eax
call fcn.00454e95
mov dword [esp + 0x208], eax
mov eax, dword [0x4ab7c8]
imul eax, eax, 0x7b25cd89
mov ecx, 0x3c33fd04
sub ecx, eax
mov eax, dword [0x4adc48]
xor eax, ecx
mov dword [0x4adc48], eax
jmp 0x41f9ad
mov dword [0x4a6f38], 0xe60f85d1
mov eax, dword [esp + 0x228]
add eax, 0xffffffff
mov dword [esp + 0x228], eax
jmp 0x41f874
mov eax, dword [0x4a2d90]
sar eax, 6
add eax, 0x65cdda38
mov ecx, dword [0x4a332c]
and eax, ecx
cmp eax, 0xc9f70de8
jge 0x41f9ef
mov eax, dword [0x4a5df8]
mov ecx, eax
inc ecx
mov dword [0x4a5df8], ecx
add eax, 0x1456cf55
mov ecx, dword [0x4a8484]
imul ecx, eax
mov dword [0x4a8484], ecx
mov dword [esp + 0x228], 0
mov eax, dword [esp + 0x228]
cmp eax, dword [esp + 0x22c]
jg 0x41fb8f
mov eax, dword [0x4ad950]
add eax, 0xdbab26db
mov ecx, dword [0x4abfb4]
imul ecx, ecx, 0x5f3e782c
imul ecx, ecx, 0x61680ac2
cmp eax, ecx
jg 0x41fa46
mov eax, dword [0x4a3474]
xor eax, 0x82d233f8
mov dword [0x4a3474], eax
jmp 0x41fa55
mov eax, dword [0x4aae78]
and eax, 0x1345de04
mov dword [0x4aae78], eax
mov eax, dword [esp + 0x228]
mov cl, byte [esp + eax + 0x962]
mov byte [esp + eax + 0x8bc], cl
mov eax, dword [0x4a4800]
add eax, 0x7f23c1df
mov dword [0x4a4800], eax
mov eax, dword [esp + 0x228]
movsx eax, byte [esp + eax + 0x8bc]
cmp eax, 0x2f
jne 0x41fb61
mov eax, dword [0x4adc94]
add eax, 0xa00441
mov dword [0x4adc94], eax
mov eax, dword [esp + 0x228]
mov byte [esp + eax + 0x8bc], 0
mov eax, dword [0x4afaf4]
and eax, 0x7e850ba1
mov dword [0x4afaf4], eax
mov eax, dword [esp + 0x228]
mov dword [esp + 0x224], eax
mov eax, dword [esp + 0x224]
cmp eax, dword [esp + 0x22c]
jg 0x41fb4d
mov eax, 0x3e002007
mov ecx, dword [0x4ab96c]
or ecx, 0xbc900285
mov dword [0x4ab96c], ecx
mov ecx, dword [esp + 0x224]
mov dl, byte [esp + ecx + 0x962]
mov esi, dword [esp + 0x228]
sub ecx, esi
mov byte [esp + ecx + 0x696], dl
mov ecx, dword [0x4ad468]
cmp eax, ecx
jle 0x41fb32
mov eax, dword [0x4a2a00]
add eax, 0x2870032e
mov dword [0x4a2a00], eax
jmp 0x41fb37
mov eax, dword [esp + 0x224]
add eax, 1
mov dword [esp + 0x224], eax
jmp 0x41facc
mov eax, dword [0x4a6760]
xor eax, 0x8cb1101
mov dword [0x4a6760], eax
jmp 0x41fb8f
mov ax, word [0x49fe2c]
mov cx, ax
xor ecx, 0x20f5
mov ax, cx
mov word [0x49fe2c], ax
mov eax, dword [esp + 0x228]
add eax, 1
mov dword [esp + 0x228], eax
jmp 0x41f9fa
mov eax, 0x92526193
mov ecx, dword [0x4ac6d4]
or ecx, 0x492a3755
cmp eax, ecx
jg 0x41fbc3
mov eax, dword [0x4a824c]
sar eax, 5
add eax, 0x5d3fff64
mov ecx, dword [0x4aa864]
and ecx, eax
mov dword [0x4aa864], ecx
lea eax, [esp + 0x696]
mov ecx, esp
mov dword [ecx], eax
call fcn.00451b50
mov ecx, dword [esp + 0xa3c]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x124], eax
call fcn.00451b50
mov ecx, dword [esp + 0x124]
add ecx, eax
cmp ecx, 0x1ff
jbe 0x41fc13
mov eax, dword [0x4a33c0]
and eax, 0xcbf76e5f
mov dword [0x4a33c0], eax
jmp 0x42182a
mov eax, dword [0x4b1208]
mov ecx, dword [0x4a1f08]
and eax, ecx
and eax, 0x91fe8654
mov dword [0x4a1f08], eax
mov eax, dword [esp + 0xa3c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x696]
mov dword [ecx], eax
call fcn.00454ca0
mov dword [0x4a7b30], 0x5b9bd55d
mov dword [esp + 0x224], 0
mov ecx, dword [0x4a9d68]
mov edx, ecx
dec edx
mov dword [0x4a9d68], edx
add ecx, 0x40417f1c
mov edx, dword [0x4b0fe4]
sub edx, ecx
mov dword [0x4b0fe4], edx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x4ce0
mov dword [esp + 0x120], eax
call fcn.00403e20
mov dword [esp + 0xa30], eax
mov eax, dword [0x4a605c]
add eax, 0x37e9dd3f
mov dword [0x4a605c], eax
mov eax, dword [esp + 0xa30]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x65c]
call fcn.0043a230
sub esp, 4
mov word [0x499ca6], 0xc240
mov ecx, dword [esp + 0xa30]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x11c], eax
call fcn.0040f650
mov eax, dword [0x4abc90]
imul eax, eax, 0x5a84db65
mov dword [0x4abc90], eax
mov eax, dword [esp + 0xa40]
mov ecx, eax
call fcn.00426e30
cmp eax, 0
je 0x41ff78
mov ax, word [0x49a05e]
movsx ecx, ax
not ecx
mov dword [0x4ab0c0], ecx
mov ecx, esp
mov dword [ecx + 4], 0xc
mov dword [ecx], 0x9022
call fcn.00403e20
mov dword [esp + 0xa2c], eax
mov eax, dword [0x4b06b8]
xor eax, 0x85930ba6
mov dword [0x4b06b8], eax
mov ecx, dword [esp + 0xa40]
mov eax, dword [esp + 0xa2c]
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.00401300
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.0042e9f0
sub esp, 8
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x114]
call fcn.004150c0
mov si, word [0x49ee4c]
movsx eax, si
sar eax, 1
mov ecx, dword [0x4afe44]
or ecx, eax
mov dword [0x4afe44], ecx
mov eax, dword [esp + 0xa2c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.0040f650
mov eax, dword [0x4a7cfc]
mov ecx, dword [0x4ae9b4]
and ecx, eax
mov dword [0x4ae9b4], ecx
cmp dword [esp + 0x228], 0
jne 0x41ff52
mov eax, 0x7e2d7eda
mov ecx, dword [0x4ad720]
add ecx, 0x8a42805
mov dword [0x4ad720], ecx
mov dword [esp + 0x224], 1
mov ecx, dword [0x4af744]
sar ecx, 3
mov edx, dword [0x4a5c78]
sar edx, 6
or ecx, edx
mov edx, dword [0x4a19a8]
or edx, ecx
mov dword [0x4a19a8], edx
mov ecx, dword [esp + 0xa40]
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x108], eax
call fcn.00413540
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0xb
mov ecx, dword [esp + 0x10c]
call fcn.00416d50
sub esp, 8
mov si, word [0x49e6fe]
movsx ecx, si
not ecx
mov edx, dword [0x4af2c0]
lea ecx, [ecx + edx + 0x403e8860]
mov dword [0x4af2c0], ecx
mov ecx, esp
mov dword [ecx + 4], 6
mov dword [ecx], 0x4ce7
mov dword [esp + 0x104], eax
call fcn.00403e20
mov dword [esp + 0xa28], eax
mov eax, dword [0x4a3b10]
mov ecx, dword [esp + 0x108]
cmp ecx, eax
jle 0x41fefe
mov ax, word [0x49a2a2]
mov cx, ax
imul ecx, ecx, 0xe3b9fe01
mov ax, cx
mov word [0x49a2a2], ax
mov eax, dword [esp + 0xa28]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x65c]
call fcn.0043a230
sub esp, 4
mov ecx, dword [0x4a705c]
imul ecx, ecx, 0x3def3f6b
mov dword [0x4a705c], ecx
mov ecx, dword [esp + 0xa28]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 6
mov dword [esp + 0x100], eax
call fcn.0040f650
mov dword [0x4a5f38], 0xe3bbc656
mov eax, dword [0x4a9f24]
mov ecx, eax
inc ecx
mov dword [0x4a9f24], ecx
add eax, 0x7f251908
or eax, 0x6f733733
mov ecx, dword [0x4a84a4]
add ecx, eax
mov dword [0x4a84a4], ecx
mov eax, 0x94414f66
mov ecx, dword [0x4ab03c]
mov edx, 0x66dfe2
sub edx, ecx
mov si, word [0x49dbb6]
mov cx, si
and ecx, edx
mov si, cx
mov word [0x49dbb6], si
mov ecx, esp
lea edx, [esp + 0x696]
mov dword [ecx], edx
lea ecx, [esp + 0x1dc]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xf8], eax
call fcn.0040b490
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xfc]
mov dword [ecx], edx
lea ecx, [esp + 0x65c]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf0], eax
call fcn.0044ce60
sub esp, 4
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xec], eax
call fcn.00422440
mov eax, dword [0x4acf48]
or eax, 0x69bfbbd1
mov dword [0x4acf48], eax
mov eax, esp
mov dword [eax + 4], 0x32
mov dword [eax], 0x8cf
call fcn.00403e20
mov dword [esp + 0xa24], eax
mov eax, dword [0x4ae28c]
shl eax, 2
mov dword [0x4af650], eax
mov eax, dword [esp + 0xa24]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1c8]
mov ecx, eax
mov dword [esp + 0xe8], eax
call fcn.0040b490
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xe8]
mov dword [ecx], edx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0xe4], eax
call fcn.0044ce60
sub esp, 4
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xe0], eax
call fcn.00422440
mov eax, dword [0x4aabd8]
mov si, word [0x49f1ee]
mov cx, si
inc ecx
mov di, cx
mov word [0x49f1ee], di
movsx ecx, si
add ecx, 0x61212081
xor eax, ecx
mov ecx, dword [0x4aed50]
xor ecx, eax
mov dword [0x4aed50], ecx
mov eax, dword [esp + 0xa24]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x32
call fcn.0040f650
mov word [0x49a176], 0xa4b0
mov eax, esp
lea ecx, [esp + 0x8bc]
mov dword [eax], ecx
lea eax, [esp + 0x1b4]
mov ecx, eax
mov dword [esp + 0xdc], eax
call fcn.0040b490
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xdc]
mov dword [ecx], edx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0xd8], eax
call fcn.0044ce60
sub esp, 4
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xd4], eax
call fcn.00422440
mov eax, dword [0x4ae090]
shl eax, 3
mov ecx, dword [0x4ad240]
add eax, ecx
mov ecx, dword [esp + 0xf8]
cmp ecx, eax
jl 0x42016f
mov eax, dword [0x4a63dc]
imul eax, eax, 0xeffef7db
mov dword [0x4a63dc], eax
jmp 0x420187
mov ax, word [0x4a0aec]
mov cx, ax
and ecx, 0xb1f5
mov ax, cx
mov word [0x4a0aec], ax
cmp dword [esp + 0x224], 0
je 0x4203c9
mov eax, dword [0x4a9d20]
and eax, 0x28a4f735
mov dword [0x4a9d20], eax
mov eax, esp
mov dword [eax + 4], 0x44
mov dword [eax], 0xaf9d
call fcn.00403e20
mov dword [esp + 0xa20], eax
mov eax, dword [0x4b0b3c]
shl eax, 5
or eax, 0x852d
mov cx, ax
mov word [0x49a8c4], cx
mov eax, dword [esp + 0xa20]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x1a0]
mov ecx, eax
mov dword [esp + 0xd0], eax
call fcn.0040b490
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xd0]
mov dword [ecx], edx
lea ecx, [esp + 0x65c]
mov dword [esp + 0xcc], eax
call fcn.0044ce60
sub esp, 4
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc8], eax
call fcn.00422440
mov eax, dword [0x4a6e00]
add eax, 0xc2110202
mov dword [0x4a6e00], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x187b
call fcn.00403e20
mov dword [esp + 0xa1c], eax
mov si, word [0x49e648]
mov ax, si
inc eax
mov si, ax
mov word [0x49e648], si
mov si, word [0x49a8f6]
mov cx, si
not ecx
sub eax, ecx
mov si, word [0x49a756]
mov cx, si
add ecx, eax
mov si, cx
mov word [0x49a756], si
mov eax, dword [esp + 0xa20]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x44
call fcn.0040f650
mov si, word [0x49b3ae]
mov ax, si
dec eax
mov si, ax
mov word [0x49b3ae], si
movsx eax, si
cmp eax, 0x5c8a8c30
jl 0x4202ef
mov eax, dword [0x4ade38]
xor eax, 0x1061
or eax, 0x478e
mov cx, word [0x49a5d2]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49a5d2], cx
mov ecx, dword [esp + 0xa40]
call fcn.00426e30
mov ecx, dword [esp + 0xa1c]
mov edx, esp
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
lea eax, [esp + 0x236]
mov dword [edx], eax
mov dword [esp + 0xc4], eax
call fcn.0045505f
mov word [0x49f50a], 0xba78
mov ecx, dword [esp + 0xa1c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0xc0], eax
call fcn.0040f650
mov si, word [0x49fa04]
movsx eax, si
xor eax, 0x18a11104
mov ecx, dword [0x4a9ee0]
sub ecx, eax
mov dword [0x4a9ee0], ecx
mov eax, esp
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
lea eax, [esp + 0x18c]
mov ecx, eax
mov dword [esp + 0xbc], eax
call fcn.0040b490
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xbc]
mov dword [ecx], edx
lea ecx, [esp + 0x65c]
mov dword [esp + 0xb8], eax
call fcn.0044ce60
sub esp, 4
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xb4], eax
call fcn.00422440
mov eax, dword [0x4a1efc]
add eax, 0x418c218b
mov dword [0x4a1efc], eax
mov eax, dword [0x4aabb8]
or eax, 0xe16b06ca
mov dword [0x4aabb8], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x25b3
call fcn.00403e20
mov dword [esp + 0xa18], eax
mov dword [0x4a577c], 0x647befcb
mov eax, dword [esp + 0xa18]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x178]
mov ecx, eax
mov dword [esp + 0xb0], eax
call fcn.0040b490
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xb0]
mov dword [ecx], edx
lea ecx, [esp + 0x65c]
mov dword [esp + 0xac], eax
call fcn.0044ce60
sub esp, 4
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xa8], eax
call fcn.00422440
mov eax, dword [0x4a4b98]
shl eax, 7
mov ecx, dword [0x4a8c48]
and ecx, eax
mov dword [0x4a8c48], ecx
mov eax, dword [esp + 0xa18]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0040f650
mov eax, dword [0x4a76ac]
xor eax, 0x78704fc9
mov dword [0x4a76ac], eax
cmp dword [esp + 0x224], 0
je 0x420509
mov eax, dword [0x4ab504]
imul eax, eax, 0xabbeecae
or eax, 0xb4c
mov cx, word [0x49d6e2]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x49d6e2], cx
mov eax, dword [esp + 0xa40]
mov edx, esp
mov dword [edx], eax
lea ecx, [esp + 0x65c]
call fcn.0044ce60
sub esp, 4
mov si, word [0x49c740]
movsx ecx, si
imul ecx, ecx, 0xbf359bdd
add ecx, 0xfcbc8357
mov edx, dword [0x4ab11c]
xor edx, ecx
mov dword [0x4ab11c], edx
mov dword [esp + 0xa4], eax
mov eax, dword [0x4a9340]
imul eax, eax, 0xa9c0ff24
mov ecx, dword [0x4a6524]
sub ecx, eax
mov dword [0x4a6524], ecx
mov eax, dword [0x49950c]
mov ecx, esp
lea edx, [esp + 0x8bc]
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [esp + 0x230], eax
mov eax, dword [0x4abc84]
add eax, 0xd9706745
mov si, word [0x49f2c4]
mov cx, si
or ecx, eax
mov si, cx
mov word [0x49f2c4], si
cmp dword [esp + 0x230], 0
jne 0x42059b
mov eax, dword [0x4ae428]
inc eax
mov dword [0x4ae428], eax
xor eax, 0x42c73e3e
cmp eax, 0x69c77936
jg 0x420596
mov eax, dword [0x4aa67c]
add eax, 0xc5260f2c
mov dword [0x4aa67c], eax
jmp 0x42182a
mov eax, 0xff6ca91
mov cx, word [0x49c1bc]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49c1bc], cx
movsx edx, cx
mov esi, dword [0x4a1ab0]
lea edx, [edx + esi + 0x2f93ba29]
mov dword [0x4a1ab0], edx
xorps xmm0, xmm0
movaps xmmword [esp + 0x670], xmm0
mov edx, dword [0x4a1b78]
inc edx
mov dword [0x4a1b78], edx
cmp eax, edx
jg 0x4205ff
mov eax, dword [0x4abc3c]
or eax, 0x5e6be880
mov dword [0x4abc3c], eax
jmp 0x42060e
mov eax, dword [0x4a1f0c]
and eax, 0xebb8260e
mov dword [0x4a1f0c], eax
mov eax, 0x31afce72
mov word [esp + 0x670], 2
mov ecx, dword [0x4ac624]
dec ecx
mov dword [0x4ac624], ecx
mov edx, dword [0x4a2014]
and ecx, edx
and ecx, 0x8e005009
mov dword [0x4a2014], ecx
mov ecx, dword [0x499514]
mov edx, dword [0x499518]
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 + 0xa0], eax
mov dword [esp + 0x9c], ecx
call edx
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x9c]
call eax
sub esp, 4
mov dword [esp + 0x674], eax
mov eax, dword [0x4aa74c]
mov ecx, dword [esp + 0xa0]
cmp ecx, eax
jne 0x4206c1
mov ax, word [0x49b9ac]
movsx ecx, ax
not ecx
mov edx, dword [0x4a2154]
or edx, ecx
mov dword [0x4a2154], edx
mov eax, 0xdee7f6fa
mov ecx, dword [0x499510]
movzx edx, word [esp + 0x208]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x98], eax
call ecx
sub esp, 4
mov word [esp + 0x672], ax
mov ecx, dword [0x4a8fec]
shl ecx, 3
mov edx, dword [0x4a9b30]
sub edx, 0x6ee08414
xor ecx, edx
mov edx, dword [esp + 0x98]
cmp edx, ecx
jge 0x420721
mov eax, dword [0x4ab414]
or eax, 0xccaccdc8
mov dword [0x4ab414], eax
cmp dword [esp + 0xa44], 0
je 0x420864
mov ax, word [0x49cf0c]
mov cx, ax
add ecx, 0x7a658b9c
mov ax, cx
mov word [0x49cf0c], ax
mov eax, dword [esp + 0xa44]
mov ecx, 0x10624dd3
mul ecx
shr edx, 6
mov eax, esp
mov dword [eax + 4], edx
lea ecx, [esp + 0x670]
mov dword [eax], ecx
call fcn.00422570
mov dword [esp + 0x690], eax
mov si, word [0x49b49e]
movsx eax, si
imul eax, eax, 0x70d91c6e
mov ecx, dword [0x4a2aa0]
add ecx, eax
mov dword [0x4a2aa0], ecx
cmp dword [esp + 0x690], 0
jge 0x4207b3
mov eax, dword [0x4a2a34]
imul eax, eax, 0x86ca998d
mov dword [0x4a2a34], eax
jmp 0x42182a
mov dword [0x4a8148], 0x333d9864
mov eax, dword [0x49952c]
mov ecx, dword [esp + 0x690]
mov edx, esp
lea esi, [esp + 0xa44]
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 [0x4a2524]
and ecx, 0xa115196f
mov dword [0x4a2524], ecx
mov ecx, dword [0x49952c]
mov edx, dword [esp + 0x690]
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 [0x4ad598]
add ecx, 0x1edcdd0
mov dword [0x4ad598], ecx
mov dword [esp + 0x8c], eax
jmp 0x42098b
mov eax, dword [0x4a59e8]
and eax, 0x631c0944
mov ecx, dword [0x4aa6fc]
or ecx, eax
mov dword [0x4aa6fc], ecx
mov eax, dword [0x499530]
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 + 0x690], eax
mov eax, dword [0x4af9c4]
and eax, 0xea55ece4
mov dword [0x4af9c4], eax
cmp dword [esp + 0x690], 0xffffffff
jne 0x42091d
mov eax, 0xc79b2bcb
mov ecx, dword [0x4a6aa0]
xor ecx, 0xffffffff
cmp eax, ecx
jg 0x420909
mov eax, 0x585b006f
mov ecx, dword [0x4af5a8]
imul ecx, ecx, 0x76343936
and ecx, 0x30920d47
cmp eax, ecx
jge 0x420904
mov eax, dword [0x4aa408]
and eax, 0x6509113b
mov dword [0x4aa408], eax
jmp 0x420918
mov eax, dword [0x4ad794]
add eax, 0xb60f552e
mov dword [0x4ad794], eax
jmp 0x42182a
lea eax, [esp + 0x670]
mov ecx, dword [0x4ac618]
add ecx, 0xdabbfa00
mov dword [0x4ac618], ecx
mov ecx, dword [0x499508]
mov edx, dword [esp + 0x690]
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 0x420973
mov eax, dword [0x4ae5c8]
and eax, 0xde85720c
mov dword [0x4ae5c8], eax
jmp 0x4217b0
mov ax, word [0x499f20]
mov cx, ax
imul ecx, ecx, 0xb4e9f42b
mov ax, cx
mov word [0x499f20], ax
mov eax, dword [0x4af2e0]
mov ecx, dword [0x4afcd4]
add eax, ecx
xor eax, 0x9cdf513
mov ecx, dword [0x4a2e44]
mov edx, ecx
dec edx
mov dword [0x4a2e44], edx
mov edx, dword [0x4a3f14]
add edx, 0x93b8baa6
or ecx, edx
cmp eax, ecx
jg 0x4209df
mov eax, dword [0x4a998c]
add eax, 0xe2d97b7a
mov ecx, dword [0x4a88bc]
or ecx, eax
mov dword [0x4a88bc], ecx
jmp 0x4209ee
mov eax, dword [0x4a3554]
and eax, 0xd9b83fbf
mov dword [0x4a3554], eax
lea eax, [esp + 0x65c]
mov ecx, dword [0x499528]
lea edx, [esp + 0x65c]
mov dword [esp + 0x88], ecx
mov ecx, edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edx
call fcn.00426e30
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], eax
call fcn.0040b440
mov ecx, dword [esp + 0x690]
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 + 0x68c], eax
mov eax, dword [0x4ad5a0]
add eax, 0x65569588
mov dword [0x4ad5a0], eax
mov eax, dword [esp + 0x68c]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x78], eax
call fcn.00426e30
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jae 0x420ab4
mov eax, dword [0x4a2908]
mov ecx, dword [0x4a5ca8]
lea eax, [eax + ecx + 0x2088e083]
mov ecx, dword [0x4afa54]
and ecx, eax
mov dword [0x4afa54], ecx
jmp 0x4217b0
mov eax, dword [0x4ae0dc]
and eax, 0xb1f4569a
mov dword [0x4ae0dc], eax
mov ecx, dword [esp + 0xa40]
call fcn.0042ec20
mov eax, dword [0x4abc1c]
imul eax, eax, 0xf0781fc6
mov dword [0x4abc1c], eax
mov ax, word [0x49e4dc]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x49e4dc], ax
add ecx, 0xdd90f829
mov ax, cx
mov word [0x49ff32], ax
mov ecx, dword [0x499520]
mov edx, dword [esp + 0x690]
mov esi, esp
lea edi, [esp + 0x236]
mov dword [esi + 4], edi
mov dword [esi], edx
mov dword [esi + 0xc], 0
mov dword [esi + 8], 0x400
call ecx
sub esp, 0x10
mov dword [esp + 0x68c], eax
mov eax, dword [0x4afc3c]
mov ecx, eax
dec ecx
mov dword [0x4afc3c], ecx
add eax, 0x3a763101
mov ecx, dword [0x4ae46c]
sub ecx, eax
mov dword [0x4ae46c], ecx
cmp dword [esp + 0x68c], 0
jle 0x420b8a
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x21c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
call fcn.004401a0
cmp eax, 0
je 0x420b9e
mov eax, dword [0x4a60c4]
or eax, 0x86882ff2
mov dword [0x4a60c4], eax
jmp 0x4215b9
mov eax, 0xe0aa1a57
mov ecx, dword [0x4a6a04]
inc ecx
mov dword [0x4a6a04], ecx
imul ecx, ecx, 0xeb727d4
cmp eax, ecx
jge 0x420bcd
mov eax, dword [0x4a9cb4]
or eax, 0x810bd68a
mov dword [0x4a9cb4], eax
mov eax, dword [esp + 0xa40]
mov ecx, eax
mov dword [esp + 0x74], eax
call fcn.00426e30
mov ecx, dword [esp + 0x68c]
add eax, ecx
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x74]
call fcn.00449770
sub esp, 8
mov eax, dword [0x4a19d4]
imul eax, eax, 0xd603ef04
mov dword [0x4a19d4], eax
mov eax, dword [esp + 0xa40]
mov ecx, eax
call fcn.0040a3f0
cmp eax, 0
jne 0x420c3a
mov eax, dword [0x4b0808]
xor eax, 0xd5fdf51b
mov dword [0x4b0808], eax
jmp 0x4215b9
mov ax, word [0x49f054]
mov cx, ax
imul ecx, ecx, 0x12390092
mov ax, cx
mov word [0x49f054], ax
mov ecx, dword [esp + 0xa40]
mov edx, dword [esp + 0x68c]
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0x236]
mov dword [esi], edx
call fcn.0044b8e0
sub esp, 8
mov word [0x49b70a], 0xcf45
cmp dword [esp + 0x210], 0
mov dword [esp + 0x70], eax
jge 0x4210ce
mov eax, dword [0x4a3ea0]
or eax, 0x7490cc5d
mov dword [0x4a3ea0], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x25b3
call fcn.00403e20
mov dword [esp + 0xa14], eax
mov eax, dword [0x4a1e64]
or eax, 0xff94ec66
mov dword [0x4a1e64], eax
mov ecx, dword [esp + 0xa40]
mov eax, dword [esp + 0xa14]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x160]
mov dword [esp + 0x6c], ecx
mov ecx, eax
mov dword [esp + 0x68], eax
call fcn.00401300
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x68]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x64], eax
call fcn.0042e9f0
sub esp, 8
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x68]
call fcn.004150c0
mov eax, dword [0x4a7e20]
shr eax, 6
add eax, 0xc5ee56f6
or eax, 0x4539
mov si, ax
mov word [0x499fcc], si
mov eax, dword [esp + 0xa14]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0040f650
mov eax, dword [0x4a6334]
add eax, 0xd296e75a
mov dword [0x4a6334], eax
cmp dword [esp + 0x210], 0
jl 0x42103e
mov eax, dword [0x4a71b8]
mov ecx, eax
dec ecx
mov dword [0x4a71b8], ecx
imul eax, eax, 0x9c43783b
xor eax, 0xa535a7fa
mov dword [0x4a5404], eax
mov eax, dword [esp + 0x210]
add eax, 4
mov dword [esp + 0x210], eax
mov eax, dword [0x4ab540]
imul eax, eax, 0x3dd7e63
mov dword [0x4ab540], eax
mov eax, dword [esp + 0xa40]
mov ecx, esp
mov dword [ecx], eax
call fcn.0044fa70
mov dword [esp + 0x20c], eax
mov dx, word [0x49b0fc]
mov ax, dx
dec eax
mov si, ax
mov word [0x49b0fc], si
movsx eax, dx
xor eax, 0x18001702
mov ecx, dword [0x4a9c50]
or eax, ecx
or eax, 0x667a60f5
mov dword [0x4a9c50], eax
cmp dword [esp + 0x20c], 0
jge 0x42102f
mov ax, word [0x49a56e]
mov cx, ax
xor ecx, 0x57e5
mov ax, cx
mov word [0x49a56e], ax
mov ecx, esp
mov dword [ecx + 4], 0xb
mov dword [ecx], 0x5dd8
call fcn.00403e20
mov dword [esp + 0xa10], eax
mov eax, dword [0x4b0f24]
sar eax, 1
mov ecx, dword [0x4adeb8]
dec ecx
mov dword [0x4adeb8], ecx
and ecx, 0x53de9f1
or eax, ecx
mov ecx, dword [0x4aff80]
add ecx, 0x2cd9c7fa
xor ecx, 0x8edb4151
cmp eax, ecx
jle 0x420eb4
mov eax, dword [0x4b0908]
add eax, 0xd1770772
or eax, 0x89a76dc3
mov cx, word [0x4a0446]
movsx edx, cx
or edx, 0x478964f0
cmp eax, edx
jge 0x420eaf
mov ax, word [0x49b0e0]
mov cx, ax
or ecx, 0xb743
mov ax, cx
mov word [0x49b0e0], ax
jmp 0x420eb4
mov eax, 0xfb2dada8
mov ecx, dword [esp + 0xa40]
mov edx, dword [esp + 0xa10]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x14c]
mov dword [esp + 0x60], ecx
mov ecx, edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
call fcn.00401300
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x58]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x54], eax
call fcn.0042e9f0
sub esp, 8
mov dword [esp + 0x68c], eax
mov ecx, dword [esp + 0x58]
call fcn.004150c0
mov di, word [0x49ef5e]
movsx eax, di
shl eax, 6
sub eax, 0x79715718
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jge 0x420f49
mov eax, dword [0x4a56d4]
add eax, 0xb879c5dd
mov dword [0x4a56d4], eax
jmp 0x420f97
mov ax, word [0x49f5f0]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49f5f0], ax
movsx ecx, ax
mov edx, dword [0x4b0930]
imul ecx, edx
imul ecx, ecx, 0xb1168929
cmp ecx, 0x7b454bdc
jge 0x420f92
mov ax, word [0x4a0802]
mov cx, ax
imul ecx, ecx, 0xe1269542
mov ax, cx
mov word [0x4a0802], ax
jmp 0x420f97
mov eax, dword [esp + 0xa10]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xb
call fcn.0040f650
mov eax, dword [0x4a2c04]
lea eax, [eax + eax - 0x3d004304]
and eax, 0xbfecac92
mov ecx, dword [0x4adcf0]
sub ecx, eax
mov dword [0x4adcf0], ecx
cmp dword [esp + 0x68c], 0
jl 0x421023
mov eax, dword [0x4ac30c]
not eax
mov ecx, dword [0x4a3738]
imul eax, ecx
or eax, 0xa9228811
cmp eax, 0x93bc8457
je 0x42101e
mov eax, dword [0x4a2f14]
not eax
mov ecx, dword [0x4a3ed8]
not ecx
and eax, ecx
mov ecx, dword [0x4aa5a8]
or eax, ecx
or eax, 0x55fc0e25
mov dword [0x4aa5a8], eax
jmp 0x4215b9
mov eax, dword [0x4ae5c4]
sar eax, 1
mov dword [0x4aed44], eax
mov eax, dword [0x4ae924]
xor eax, 0x84641b0e
mov dword [0x4ae924], eax
mov eax, 0x9b9f991e
mov ecx, dword [0x4b0e48]
or ecx, 0x8be2b550
cmp eax, ecx
jle 0x4210c9
mov eax, dword [0x4a7160]
mov ecx, eax
inc ecx
mov dword [0x4a7160], ecx
add eax, 0xd8efe916
mov dx, word [0x49dc98]
movsx ecx, dx
add ecx, 0xdb05117d
add ecx, 0xe43bf937
cmp eax, ecx
jge 0x4210c4
mov eax, 0x8ae41d4a
mov ecx, dword [0x4a2e3c]
mov edx, ecx
dec edx
mov dword [0x4a2e3c], edx
imul ecx, ecx, 0x9bc45c91
mov edx, dword [0x4b05cc]
shl edx, 4
or ecx, edx
cmp eax, ecx
jge 0x4210ba
jmp 0x4210bf
jmp 0x4210bf
jmp 0x4210c4
jmp 0x4210c9
jmp 0x4210ce
mov eax, dword [0x4a25f0]
lea eax, [eax + eax + 0x2c7214eb]
mov ecx, dword [0x4ab7f4]
sub ecx, eax
mov dword [0x4ab7f4], ecx
cmp dword [esp + 0x20c], 0
jl 0x4211cd
mov ax, word [0x49982e]
movsx ecx, ax
sar ecx, 2
mov ax, word [0x4a03b8]
movsx edx, ax
xor ecx, edx
xor ecx, 0x32ae70d9
mov edx, dword [0x4ad52c]
imul edx, ecx
mov dword [0x4ad52c], edx
mov ecx, dword [esp + 0xa40]
call fcn.00426e30
sub eax, dword [esp + 0x210]
cmp eax, dword [esp + 0x20c]
jb 0x4211ad
mov eax, 0xe98d8b04
mov ecx, dword [0x4af16c]
shl ecx, 7
cmp eax, ecx
je 0x421184
mov ax, word [0x49df8e]
movsx ecx, ax
not ecx
mov ax, word [0x49bfc4]
movsx edx, ax
sar edx, 5
and ecx, edx
mov edx, dword [0x4a7998]
and edx, ecx
mov dword [0x4a7998], edx
jmp 0x4211a8
mov eax, dword [0x4a5078]
inc eax
mov dword [0x4a5078], eax
imul eax, eax, 0x5ae99c11
mov ecx, 0xb3b419ec
sub ecx, eax
mov eax, dword [0x4a88e4]
xor eax, ecx
mov dword [0x4a88e4], eax
jmp 0x4215b9
mov eax, dword [0x4af790]
shl eax, 6
add eax, 0xbf517589
xor eax, 0xe51958ba
mov ecx, dword [0x4ace8c]
or ecx, eax
mov dword [0x4ace8c], ecx
mov ax, word [0x49cbf4]
mov cx, ax
and ecx, 0xf261
mov ax, cx
mov word [0x49cbf4], ax
cmp dword [esp + 0xa48], 0
je 0x421512
test byte [esp + 0x207], 1
jne 0x421512
mov eax, dword [0x4ab940]
add eax, 0x52b492bb
mov dword [0x4aec00], eax
mov eax, dword [esp + 0xa40]
mov ecx, eax
call fcn.00426e30
cmp eax, 0x4000
jbe 0x421503
mov ax, word [0x49bdd4]
mov cx, ax
xor ecx, 0x1999
mov ax, cx
mov word [0x49bdd4], ax
mov byte [esp + 0x207], 1
mov ecx, dword [0x4ad650]
mov edx, ecx
inc edx
mov dword [0x4ad650], edx
mov edx, dword [0x4af2b0]
or edx, ecx
mov dword [0x4af2b0], edx
mov ecx, dword [esp + 0xa40]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x138]
call fcn.0040c500
sub esp, 4
mov ecx, dword [0x4a4198]
add ecx, 0x8f2b62a3
mov dword [0x4a4198], ecx
cmp dword [esp + 0x210], 0
mov dword [esp + 0x50], eax
jl 0x4213c2
mov eax, 0x975170b0
mov ecx, dword [0x4a18ac]
inc ecx
mov dword [0x4a18ac], ecx
cmp eax, ecx
jle 0x42130c
mov eax, dword [0x4a3614]
shl eax, 0xa
xor eax, 0x7cac6bef
cmp eax, 0xf95ce800
jg 0x4212fd
mov eax, 0x29b2c565
mov ecx, dword [0x4a4318]
not ecx
mov edx, dword [0x4a7b90]
sub eax, edx
cmp ecx, eax
jle 0x4212f8
jmp 0x4212f8
jmp 0x421307
mov dword [0x4abfe0], 0x1c5cbbd8
jmp 0x42130c
mov eax, 0xc35a1d86
mov ecx, dword [esp + 0x210]
mov edx, esp
mov dword [edx], 0
lea edx, [esp + 0x138]
mov dword [esp + 0x4c], ecx
mov ecx, edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
call fcn.00413540
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x44]
call fcn.00416d50
sub esp, 8
mov ecx, dword [0x4a94e8]
mov edx, ecx
inc edx
mov dword [0x4a94e8], edx
mov edx, dword [esp + 0x48]
cmp edx, ecx
mov dword [esp + 0x40], eax
je 0x4213bd
mov eax, 0x69960dff
mov cx, word [0x49a7a0]
mov dx, cx
dec edx
mov si, dx
mov word [0x49a7a0], si
movsx edx, cx
and edx, 0x175b8d44
cmp eax, edx
jg 0x4213b8
mov eax, dword [0x4af1cc]
shl eax, 9
mov ecx, dword [0x4a4600]
or eax, ecx
or eax, 0x7329072
mov dword [0x4a4600], eax
jmp 0x4213bd
jmp 0x4213c2
lea eax, [esp + 0x138]
lea ecx, [esp + 0x8bc]
mov dx, word [0x49b02a]
mov si, dx
add esi, 0xd9bd8d21
mov dx, si
mov word [0x49b02a], dx
mov esi, dword [esp + 0xa48]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.0040fec0
cmp eax, 0
jne 0x4214af
mov ax, word [0x4a0c3c]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a0c3c], ax
movsx ecx, ax
mov edx, dword [0x4ad23c]
mov esi, dword [0x4afb84]
dec esi
mov dword [0x4afb84], esi
imul edx, esi
and edx, 0x2b8890ff
cmp ecx, edx
je 0x421453
mov eax, dword [0x4a1ac8]
or eax, 0x1dffff78
mov dword [0x4a1ac8], eax
mov dword [esp + 0x210], 0xffffffff
mov eax, dword [0x4b0d5c]
not eax
imul eax, eax, 0x69cdc55d
mov cx, word [0x49ceca]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x49ceca], cx
mov ecx, dword [esp + 0xa40]
call fcn.0042ec20
mov eax, dword [0x4aecb4]
sar eax, 4
add eax, 0xd8d5a76f
mov dword [0x4a8e64], eax
mov dword [esp + 0x134], 0xd
jmp 0x4214c4
mov dword [0x4ae898], 0x49af18ac
mov dword [esp + 0x134], 0
lea ecx, [esp + 0x138]
call fcn.00422440
mov ecx, dword [esp + 0x134]
test ecx, ecx
mov dword [esp + 0x3c], ecx
je 0x4214fe
jmp 0x4214e8
mov eax, dword [esp + 0x3c]
sub eax, 0xd
mov dword [esp + 0x38], eax
je 0x4215b9
jmp fcn.00421950
jmp 0x421503
mov eax, dword [0x4a4878]
xor eax, 0x2294ab41
mov dword [0x4a4878], eax
mov ax, word [0x49f03c]
mov cx, ax
xor ecx, 0xc01b
mov ax, cx
mov word [0x49f03c], ax
cmp dword [esp + 0xa44], 0x3acf
jne 0x42159c
mov eax, dword [0x4a6640]
add eax, 0xc006840a
mov dword [0x4a6640], eax
mov eax, dword [esp + 0xa40]
mov ecx, eax
call fcn.00426e30
cmp eax, 0x500000
jbe 0x421584
mov ax, word [0x49c2f8]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x49c2f8], ax
movsx ecx, ax
mov dword [0x4ac368], ecx
jmp 0x4215b9
mov ax, word [0x4a0796]
mov cx, ax
add ecx, 0x8b09f422
mov ax, cx
mov word [0x4a0796], ax
mov ax, word [0x49df58]
mov cx, ax
and ecx, 0x91f4
mov ax, cx
mov word [0x49df58], ax
jmp 0x420adf
mov eax, dword [0x4adbcc]
mov ecx, eax
inc ecx
mov dword [0x4adbcc], ecx
mov ecx, dword [0x4a5704]
imul ecx, eax
mov dword [0x4a5704], ecx
cmp dword [esp + 0x210], 0
jl 0x421657
mov ax, word [0x4a03da]
mov cx, ax
imul ecx, ecx, 0xcdd9f24f
mov ax, cx
mov word [0x4a03da], ax
mov ecx, dword [esp + 0xa40]
mov edx, dword [esp + 0x210]
mov esi, esp
mov dword [esi], 0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
call fcn.00413540
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x34]
call fcn.00416d50
sub esp, 8
mov di, word [0x4a13a8]
mov cx, di
xor ecx, 0xafc7
mov di, cx
mov word [0x4a13a8], di
mov dword [esp + 0x2c], eax
mov eax, dword [0x4ab32c]
add eax, 0xfa920415
mov dword [0x4ab32c], eax
cmp dword [esp + 0xa48], 0
je 0x421787
test byte [esp + 0x207], 1
jne 0x421787
lea eax, [esp + 0x8bc]
mov ecx, dword [0x4a3ef4]
or ecx, 0x8b4d7bf1
and ecx, 0xab5ffff1
mov edx, dword [0x4ab6cc]
imul edx, ecx
mov dword [0x4ab6cc], edx
mov ecx, dword [esp + 0xa48]
mov edx, dword [esp + 0xa40]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040fec0
cmp eax, 0
jne 0x421778
mov eax, dword [0x4ac1dc]
shl eax, 4
mov ecx, dword [0x4a24e0]
mov edx, ecx
inc edx
mov dword [0x4a24e0], edx
add ecx, 0xbec72bc9
cmp eax, ecx
jl 0x42175a
mov eax, 0x2f96bc7e
mov ecx, dword [0x4ac41c]
mov edx, ecx
dec edx
mov dword [0x4ac41c], edx
and ecx, 0x316da699
cmp eax, ecx
jle 0x421755
mov ax, word [0x49a7b4]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49a7b4], dx
movsx ecx, ax
mov esi, dword [0x4a5a28]
mov edi, esi
dec edi
mov dword [0x4a5a28], edi
and esi, 0x625c9fd3
xor ecx, esi
mov esi, dword [0x4ad4a0]
imul esi, ecx
mov dword [0x4ad4a0], esi
jmp 0x42175a
mov ecx, dword [esp + 0xa40]
call fcn.0042ec20
mov ecx, dword [0x4a979c]
add ecx, 0x48112594
mov dword [0x4a979c], ecx
mov eax, dword [0x4ad0b8]
add eax, 0x8bbf60fc
mov dword [0x4ad0b8], eax
mov eax, dword [0x4a19b0]
mov ecx, eax
dec ecx
mov dword [0x4a19b0], ecx
add eax, 0x87be6661
mov dx, word [0x49df78]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x49df78], dx
mov eax, dword [0x499538]
mov ecx, dword [esp + 0x690]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 2
call eax
sub esp, 8
mov si, word [0x49f92a]
mov cx, si
xor ecx, 0x4a84
mov si, word [0x49af96]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x49af96], si
mov ecx, dword [0x499504]
mov edx, dword [esp + 0x690]
mov edi, esp
mov dword [edi], edx
mov dword [esp + 0x28], eax
call ecx
sub esp, 4
mov si, word [0x49c7dc]
mov cx, si
add ecx, 0xf147d5f
mov si, cx
mov word [0x49c7dc], si
mov dword [esp + 0x24], eax
mov eax, 0xd00794f3
mov ecx, esp
lea edx, [esp + 0x8bc]
mov dword [ecx], edx
mov dword [ecx + 4], 0xa6
mov dword [esp + 0x20], eax
call fcn.00448fa0
mov eax, dword [0x4a5f14]
or eax, 0x107010e
mov dword [0x4a5f14], eax
mov eax, esp
lea ecx, [esp + 0x962]
mov dword [eax], ecx
mov dword [eax + 4], 0xa6
call fcn.00448fa0
mov eax, dword [0x4a5f84]
and eax, 0x87f4
mov si, word [0x4a09c0]
mov cx, si
sub ecx, eax
mov si, cx
mov word [0x4a09c0], si
mov eax, esp
lea ecx, [esp + 0x696]
mov dword [eax], ecx
mov dword [eax + 4], 0x226
call fcn.00448fa0
mov si, word [0x4a0b58]
mov ax, si
inc eax
mov di, ax
mov word [0x4a0b58], di
movsx eax, si
sub eax, 0xe87ae021
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jle 0x4218e8
mov ax, word [0x49d88c]
mov cx, ax
or ecx, 0xdc10
mov ax, cx
mov word [0x49d88c], ax
mov eax, 0x8c9c5c91
mov ecx, esp
lea edx, [esp + 0x236]
mov dword [ecx], edx
mov dword [ecx + 4], 0x426
mov dword [esp + 0x1c], eax
call fcn.00448fa0
mov eax, dword [0x4a74dc]
dec eax
mov dword [0x4a74dc], eax
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jne 0x42193c
mov ax, word [0x49f620]
movsx ecx, ax
add ecx, 0x5ef45c2e
mov edx, dword [0x4ada90]
sub edx, ecx
mov dword [0x4ada90], edx
lea ecx, [esp + 0x65c]
call fcn.00422440
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret