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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa70
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, 0x2100cc10
mov dword [esp + 0xa68], eax
mov dword [esp + 0xa64], ecx
mov dword [esp + 0xa60], edx
mov dword [esp + 0xa5c], esi
mov dword [esp + 0xa58], edi
mov eax, dword [0x49bb90]
sar eax, 3
cmp ebx, eax
jle 0x422b77
mov eax, 0xccc48129
mov ecx, dword [0x490bb4]
mov edx, ecx
inc edx
mov dword [0x490bb4], edx
add ecx, 0x962c6166
or ecx, 0x853853d2
cmp eax, ecx
jge 0x422b72
mov ax, word [0x4a78f2]
movsx ecx, ax
cmp ecx, 0x350fe811
jl 0x422b68
jmp 0x422b6d
jmp 0x422b6d
jmp 0x422b72
jmp 0x422b77
mov eax, esp
mov dword [eax + 4], 8
mov dword [eax], 0x13f
call fcn.00430db0
mov dword [esp + 0xa54], eax
mov eax, dword [0x49dfac]
mov ecx, eax
dec ecx
mov dword [0x49dfac], ecx
mov ecx, dword [0x49c610]
sar ecx, 6
imul eax, ecx
cmp eax, 0x800
je 0x422be5
mov eax, 0x24e10ac4
mov cx, word [0x4a772a]
movsx edx, cx
shl edx, 4
cmp eax, edx
jg 0x422be0
mov eax, dword [0x493fe8]
and eax, 0xdfe7f3fc
mov dword [0x493fe8], eax
jmp 0x422be5
mov eax, dword [esp + 0xa54]
mov ecx, dword [esp + 0xa58]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00455730
mov dword [esp + 0xa2c], eax
mov eax, dword [0x490b00]
xor eax, 0x40597bb0
mov ecx, dword [0x49d8dc]
add ecx, eax
mov dword [0x49d8dc], ecx
mov eax, dword [esp + 0xa54]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 8
call fcn.00404f30
mov eax, dword [0x497128]
sar eax, 4
add eax, 0x9652ced8
and eax, 0xac8ed1cb
cmp eax, 0x4a14b263
jne 0x422c61
mov eax, dword [0x49ae4c]
or eax, 0xd49c1440
mov dword [0x49ae4c], eax
cmp dword [esp + 0xa2c], 0
jne 0x422db2
mov word [0x4a4182], 0x2633
cmp dword [esp + 0xa68], 0
je 0x422ccc
mov eax, dword [0x496730]
and eax, 0xc54
or eax, 0xf3a9
mov cx, word [0x4a570e]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4a570e], cx
mov ecx, dword [esp + 0xa60]
call fcn.00437280
mov eax, dword [0x492ee0]
imul eax, eax, 0x9d826697
mov dword [0x492ee0], eax
jmp 0x4255a4
mov eax, dword [0x499e28]
mov ecx, dword [0x49f368]
and ecx, eax
mov dword [0x49f368], ecx
mov eax, dword [esp + 0xa60]
mov ecx, dword [esp + 0xa5c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00405770
mov dword [esp + 0xa28], eax
mov si, word [0x4a7372]
movsx eax, si
or eax, 0xf9c7036b
mov ecx, dword [0x498f04]
imul ecx, eax
mov dword [0x498f04], ecx
cmp dword [esp + 0xa28], 0
jg 0x422d95
mov eax, 0x713a789e
mov ecx, dword [0x49a358]
cmp eax, ecx
jl 0x422d5c
mov ax, word [0x4a4f2c]
mov cx, ax
add ecx, 0x3d84f332
mov ax, cx
mov word [0x4a4f2c], ax
jmp 0x422d71
mov eax, dword [0x4a0d20]
not eax
mov ecx, dword [0x48f1e8]
or ecx, eax
mov dword [0x48f1e8], ecx
mov ecx, dword [esp + 0xa60]
call fcn.00437280
mov ax, word [0x4a49f0]
mov cx, ax
add ecx, 0xedf11b7e
mov ax, cx
mov word [0x4a49f0], ax
mov ax, word [0x4a53aa]
mov cx, ax
add ecx, 0x8021811
mov ax, cx
mov word [0x4a53aa], ax
jmp 0x4255a4
mov eax, 0xe277960d
mov ecx, dword [0x496414]
sar ecx, 8
imul ecx, ecx, 0x9aca6589
and ecx, 0xc93c77ed
mov edx, dword [0x48f30c]
xor edx, ecx
mov dword [0x48f30c], edx
mov si, word [0x4a132c]
mov cx, si
imul ecx, ecx, 0x2ed8394e
mov si, cx
mov word [0x4a132c], si
mov si, word [0x4aa230]
mov cx, si
or ecx, 0xff80
mov si, cx
mov word [0x4aa230], si
mov ecx, dword [0x49939c]
add ecx, 0xc25b6404
cmp eax, ecx
jne 0x422e3a
mov eax, dword [0x49a860]
mov ecx, eax
dec ecx
mov dword [0x49a860], ecx
add eax, 0xe6d85db1
mov dword [0x491bac], eax
mov eax, dword [0x496738]
dec eax
mov dword [0x496738], eax
mov ecx, dword [0x493248]
or ecx, eax
mov dword [0x493248], ecx
mov dx, word [0x4a2f30]
movsx eax, dx
sub eax, 0xc3054568
add eax, 0x701c5993
cmp eax, 0x7ffbffba
jg 0x422e8a
mov ax, word [0x4a8f92]
mov cx, ax
add ecx, 0x41845e5
mov ax, cx
mov word [0x4a8f92], ax
mov eax, dword [0x498774]
mov ecx, eax
inc ecx
mov dword [0x498774], ecx
mov dx, word [0x4a2454]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4a2454], dx
lea ecx, [esp + 0x66c]
call fcn.0043fbb0
mov ecx, dword [0x49ec5c]
and ecx, 0xdcbf8a90
mov esi, dword [0x491cec]
xor esi, ecx
mov dword [0x491cec], esi
mov ecx, dword [0x48fb94]
mov esi, ecx
inc esi
mov dword [0x48fb94], esi
add ecx, 0xfaebde0e
mov esi, dword [0x495bd0]
xor esi, ecx
mov dword [0x495bd0], esi
mov ecx, dword [0x49aecc]
add ecx, 0x68c4aef0
mov dword [0x49aecc], ecx
mov ecx, dword [0x49d808]
mov esi, ecx
inc esi
mov dword [0x49d808], esi
mov esi, dword [0x48ee04]
or ecx, esi
or ecx, 0xf868a2cc
mov dword [0x48ee04], ecx
mov dword [esp + 0x22c], 0
mov dword [esp + 0x228], 0
mov ecx, dword [0x492e18]
imul ecx, ecx, 0xb2174edd
mov dx, cx
mov word [0x4a7cf2], dx
mov ecx, dword [0x498ac8]
add ecx, ecx
mov esi, 0x9db83fa5
sub esi, ecx
mov ecx, dword [0x48ed00]
xor ecx, esi
mov dword [0x48ed00], ecx
mov dword [esp + 0x220], 0xffffffff
mov dword [esp + 0x21c], 0xffffffff
mov dx, word [0x4a8764]
movsx ecx, dx
mov esi, dword [0x49db58]
xor esi, ecx
mov dword [0x49db58], esi
mov dword [esp + 0x218], 0x50
mov ecx, dword [0x49152c]
and ecx, 0x4d9a5639
mov esi, dword [0x49c4e0]
add esi, ecx
mov dword [0x49c4e0], esi
mov byte [esp + 0x217], 0
mov dx, word [0x4a5efe]
mov cx, dx
add ecx, 0x2cc8189
mov dx, cx
mov word [0x4a5efe], dx
mov ecx, esp
mov dword [ecx], 0
mov dword [esp + 0x140], eax
call fcn.00450f00
add eax, 0x258
adc edx, 0
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], edx
mov eax, dword [0x494f88]
dec eax
mov dword [0x494f88], eax
or eax, 0x8902e804
mov ecx, dword [0x49938c]
and ecx, eax
mov dword [0x49938c], ecx
mov byte [esp + 0x6a4], 0
mov di, word [0x4a7e86]
mov ax, di
and eax, 0xecf5
mov di, ax
mov word [0x4a7e86], di
mov eax, dword [esp + 0xa58]
mov ecx, esp
mov dword [ecx], eax
call fcn.004520e0
mov dword [esp + 0x238], eax
mov eax, dword [0x493480]
mov ecx, eax
dec ecx
mov dword [0x493480], ecx
mov ecx, dword [0x492ff4]
and ecx, eax
mov dword [0x492ff4], ecx
cmp dword [esp + 0x238], 0x7f
jle 0x4230a3
mov dword [0x49b638], 0x5e021bbf
jmp 0x425477
mov eax, dword [0x48f7b4]
mov cx, word [0x4a1830]
movsx edx, cx
xor eax, edx
mov dx, cx
inc edx
mov cx, dx
mov word [0x4a1830], cx
xor eax, 0xd6b1dcc6
mov edx, dword [0x493424]
and edx, eax
mov dword [0x493424], edx
mov eax, dword [esp + 0xa58]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x97c]
mov dword [edx], eax
call fcn.00455220
mov edx, dword [0x495854]
add edx, 0x75324ee6
mov esi, dword [0x498b70]
imul esi, edx
mov dword [0x498b70], esi
mov edx, dword [esp + 0x238]
sub edx, 1
mov dword [esp + 0x234], edx
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
sub ecx, 6
cmp eax, ecx
jl 0x42328e
mov eax, dword [0x4916f0]
and eax, 0x80ccf274
mov dword [0x4916f0], eax
mov eax, dword [esp + 0x234]
movsx eax, byte [esp + eax + 0x97c]
cmp eax, 0x3a
jne 0x42322c
mov dword [0x48f154], 0xd6c9cc85
mov eax, dword [esp + 0x234]
mov byte [esp + eax + 0x97c], 0
mov cx, word [0x4a687a]
mov ax, cx
and eax, 0x3115
mov cx, ax
mov word [0x4a687a], cx
mov eax, dword [esp + 0x234]
mov dword [esp + 0x238], eax
mov eax, dword [0x493470]
mov edx, eax
inc edx
mov dword [0x493470], edx
mov edx, dword [0x493ff8]
sar edx, 9
sub edx, 0x4585aad6
cmp eax, edx
jne 0x4231e8
mov eax, dword [0x4935e0]
mov ecx, eax
inc ecx
mov dword [0x4935e0], ecx
and eax, 0x40028c
mov ecx, dword [0x4a0d64]
or ecx, eax
mov dword [0x4a0d64], ecx
mov eax, dword [esp + 0x234]
lea ecx, [esp + 0x97c]
lea eax, [eax + ecx + 1]
mov ecx, esp
mov dword [ecx], eax
call fcn.0045581e
mov dword [esp + 0x218], eax
mov dx, word [0x4a25bc]
movsx eax, dx
or eax, 0xce68adb8
mov ecx, dword [0x49fcec]
add ecx, eax
mov dword [0x49fcec], ecx
jmp 0x42328e
mov eax, 0x401a194c
mov cx, word [0x4a2808]
movsx edx, cx
mov esi, dword [0x497ac4]
shl esi, 5
imul edx, esi
and edx, 0x1ca3414b
cmp eax, edx
jg 0x423273
mov eax, dword [0x495920]
and eax, 0x13faa4c4
xor eax, 0xd7101021
mov ecx, dword [0x498e7c]
imul ecx, eax
mov dword [0x498e7c], ecx
jmp 0x423278
mov eax, dword [esp + 0x234]
add eax, 0xffffffff
mov dword [esp + 0x234], eax
jmp 0x423122
mov ax, word [0x4a6b18]
movsx ecx, ax
and ecx, 0xde8e7a5
mov edx, dword [0x4970e4]
or edx, ecx
mov dword [0x4970e4], edx
mov dword [esp + 0x234], 0
mov eax, dword [esp + 0x234]
cmp eax, dword [esp + 0x238]
jg 0x4234d8
mov word [0x4a1ff4], 0xe446
mov eax, dword [esp + 0x234]
mov cl, byte [esp + eax + 0x97c]
mov byte [esp + eax + 0x8d0], cl
mov dx, word [0x4aa552]
movsx eax, dx
and eax, 0xea96bbb8
xor eax, 0x8a643501
mov esi, dword [0x490ba0]
and esi, eax
mov dword [0x490ba0], esi
mov eax, dword [esp + 0x234]
movsx eax, byte [esp + eax + 0x8d0]
cmp eax, 0x2f
jne 0x42343c
mov ax, word [0x4a2dba]
movsx ecx, ax
not ecx
mov edx, dword [0x49d748]
and edx, ecx
mov dword [0x49d748], edx
mov ecx, dword [esp + 0x234]
mov byte [esp + ecx + 0x8d0], 0
mov ax, word [0x4a9a58]
mov cx, ax
xor ecx, 0xbe08
mov ax, cx
mov word [0x4a9a58], ax
mov ecx, dword [esp + 0x234]
mov dword [esp + 0x230], ecx
mov eax, dword [esp + 0x230]
cmp eax, dword [esp + 0x238]
jg 0x423428
mov eax, 0x6fca1815
mov cx, word [0x4a8c84]
mov dx, cx
dec edx
mov si, dx
mov word [0x4a8c84], si
movsx edx, cx
cmp eax, edx
jge 0x4233cd
mov eax, dword [0x4928d0]
xor eax, 0x961e6c
cmp eax, 0xbfffdc38
je 0x4233c8
mov dword [0x48efdc], 0x20000220
jmp 0x4233cd
mov eax, dword [esp + 0x230]
mov cl, byte [esp + eax + 0x97c]
mov edx, dword [esp + 0x234]
sub eax, edx
mov byte [esp + eax + 0x6a4], cl
mov eax, dword [0x49ca40]
inc eax
mov dword [0x49ca40], eax
mov edx, dword [0x49f800]
imul edx, edx, 0x4bbaa87
and eax, edx
mov edx, dword [0x49f6d8]
xor edx, eax
mov dword [0x49f6d8], edx
mov eax, dword [esp + 0x230]
add eax, 1
mov dword [esp + 0x230], eax
jmp 0x423370
mov eax, dword [0x49a7a4]
add eax, 0xdddb1a67
mov dword [0x49a7a4], eax
jmp 0x4234d8
mov ax, word [0x4a631c]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a631c], ax
mov ax, word [0x4a989a]
mov dx, ax
xor ecx, edx
mov ax, cx
movsx ecx, ax
mov ax, word [0x4a50fa]
movsx edx, ax
sar edx, 5
add edx, 0xe16b802e
add edx, 0xc051e3bf
cmp ecx, edx
jg 0x4234bd
mov eax, dword [0x4975d4]
inc eax
mov dword [0x4975d4], eax
add eax, 0xfd9e27ac
or eax, 0x9ea000c5
cmp eax, 0x80fb70db
jl 0x4234b8
mov ax, word [0x4a7124]
mov cx, ax
imul ecx, ecx, 0x4094c922
mov ax, cx
mov word [0x4a7124], ax
jmp 0x4234bd
jmp 0x4234c2
mov eax, dword [esp + 0x234]
add eax, 1
mov dword [esp + 0x234], eax
jmp 0x4232b6
lea eax, [esp + 0x6a4]
mov ecx, dword [0x491ce8]
imul ecx, ecx, 0xc89238f5
mov dword [0x491ce8], ecx
mov ecx, esp
mov dword [ecx], eax
call fcn.004520e0
mov ecx, dword [esp + 0xa5c]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x138], eax
call fcn.004520e0
mov ecx, dword [esp + 0x138]
add ecx, eax
cmp ecx, 0x1ff
jbe 0x42353a
mov eax, dword [0x494238]
and eax, 0xd20e2bef
mov dword [0x494238], eax
jmp 0x425477
mov eax, dword [0x49cf80]
add eax, 0x59311549
mov dword [0x49cf80], eax
mov eax, dword [esp + 0xa5c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x6a4]
mov dword [ecx], eax
call fcn.00455230
mov ecx, dword [0x49434c]
mov edx, dword [0x49b7f4]
and edx, ecx
mov dword [0x49b7f4], edx
mov dword [esp + 0x230], 0
mov ecx, dword [0x491ce4]
add ecx, 0x11e07d4b
mov dword [0x491ce4], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x3e9
mov dword [esp + 0x134], eax
call fcn.00430db0
mov dword [esp + 0xa50], eax
mov eax, dword [0x491dfc]
mov ecx, dword [0x49f7d8]
mov edx, ecx
dec edx
mov dword [0x49f7d8], edx
and eax, ecx
xor eax, 0x1d0edd96
mov ecx, dword [0x48f8a0]
imul ecx, eax
mov dword [0x48f8a0], ecx
mov eax, dword [esp + 0xa50]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x66c]
call fcn.00445f20
sub esp, 4
mov ecx, dword [0x494d00]
imul ecx, ecx, 0x62c2f36a
or ecx, 0x7193eab3
mov edx, dword [0x492f68]
add edx, ecx
mov dword [0x492f68], edx
mov ecx, dword [esp + 0xa50]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x130], eax
call fcn.00404f30
mov eax, dword [0x49ea24]
imul eax, eax, 0xbea34ca0
mov dword [0x49ea24], eax
mov eax, dword [esp + 0xa60]
mov ecx, eax
call fcn.00430d50
cmp eax, 0
je 0x423939
mov eax, dword [0x49d9ac]
mov ecx, eax
dec ecx
mov dword [0x49d9ac], ecx
mov ecx, dword [0x493e7c]
add ecx, ecx
neg ecx
lea eax, [eax + ecx - 1]
or eax, 0x13458797
mov dword [0x49094c], eax
mov eax, esp
mov dword [eax + 4], 0xc
mov dword [eax], 0x2d73
call fcn.00430db0
mov dword [esp + 0xa4c], eax
mov eax, dword [0x493e64]
dec eax
mov dword [0x493e64], eax
xor eax, 0x6178effd
or eax, 0x840cdc3f
cmp eax, 0x1aa06061
jle 0x4236cf
mov eax, dword [0x490a4c]
add eax, 0xd3ee1053
mov dword [0x490a4c], eax
mov ecx, dword [esp + 0xa60]
mov eax, dword [esp + 0xa4c]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x200]
mov dword [esp + 0x12c], ecx
mov ecx, eax
mov dword [esp + 0x128], eax
call fcn.0043c5a0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x128]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x124], eax
call fcn.00422670
sub esp, 8
mov dword [esp + 0x234], eax
mov ecx, dword [esp + 0x128]
call fcn.00404fe0
mov eax, dword [0x48f138]
xor eax, 0x9fdddbc6
mov dword [0x48f138], eax
mov eax, dword [esp + 0xa4c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xc
call fcn.00404f30
mov eax, dword [0x49e59c]
shr eax, 8
mov si, word [0x4a7950]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x4a7950], si
cmp dword [esp + 0x234], 0
jne 0x423929
mov eax, dword [0x49d09c]
and eax, 0x5a5ea3a
mov dword [0x49d09c], eax
mov dword [esp + 0x230], 1
mov cx, word [0x4a18a4]
mov ax, cx
and eax, 0xa494
mov cx, ax
mov word [0x4a18a4], cx
mov eax, dword [esp + 0xa60]
mov edx, esp
mov dword [edx], 0
mov ecx, eax
mov dword [esp + 0x120], eax
call fcn.00430580
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0xb
mov ecx, dword [esp + 0x120]
call fcn.0043fc40
sub esp, 8
mov ecx, dword [0x4a0eec]
shl ecx, 0xa
cmp ecx, 0xa0108820
mov dword [esp + 0x11c], eax
jne 0x423835
mov eax, dword [0x498e38]
imul eax, eax, 0x313a497b
add eax, 0x39c36ee
mov ecx, dword [0x49971c]
and ecx, eax
mov dword [0x49971c], ecx
mov eax, 0x12ea5068
mov ecx, esp
mov dword [ecx + 4], 6
mov dword [ecx], 0x2e3d
mov dword [esp + 0x118], eax
call fcn.00430db0
mov dword [esp + 0xa48], eax
mov dx, word [0x4a54a0]
movsx eax, dx
imul eax, eax, 0xfa77c7b4
mov ecx, dword [esp + 0x118]
cmp ecx, eax
jle 0x42388a
mov eax, dword [0x49fc9c]
add eax, 0x81001610
mov dword [0x49fc9c], eax
mov eax, 0x36210282
mov ecx, dword [esp + 0xa48]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x66c]
mov dword [esp + 0x114], eax
call fcn.00445f20
sub esp, 4
mov ecx, dword [0x4a021c]
mov edx, ecx
inc edx
mov dword [0x4a021c], edx
xor ecx, 0x2d5d4cd0
mov edx, dword [esp + 0x114]
cmp edx, ecx
mov dword [esp + 0x110], eax
je 0x423903
mov eax, dword [0x49cd5c]
mov ecx, eax
dec ecx
mov dword [0x49cd5c], ecx
mov ecx, dword [0x499128]
sub eax, ecx
mov ecx, dword [0x491390]
lea eax, [eax + ecx + 0x1bc50c7a]
mov dword [0x491390], eax
mov eax, dword [esp + 0xa48]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 6
call fcn.00404f30
mov eax, dword [0x493bac]
add eax, 0x7b92face
mov dword [0x493bac], eax
mov eax, dword [0x499b20]
imul eax, eax, 0xbf77aef7
mov dword [0x499b20], eax
mov eax, 0x880985c0
mov ecx, dword [0x499338]
inc ecx
mov dword [0x499338], ecx
and ecx, 0x7eab386d
cmp eax, ecx
je 0x4239a7
mov ax, word [0x4a8e3c]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a8e3c], ax
movsx ecx, ax
or ecx, 0x80c5663d
cmp ecx, 0x99a661dd
jle 0x4239a2
mov eax, dword [0x49b4c4]
mov ecx, eax
inc ecx
mov dword [0x49b4c4], ecx
xor eax, 0x99eced71
mov ecx, dword [0x497ad8]
and ecx, eax
mov dword [0x497ad8], ecx
jmp 0x4239f1
mov ax, word [0x4a6466]
movsx ecx, ax
and ecx, 0xfb1fe821
cmp ecx, 0x1c5df80c
jl 0x4239ec
mov eax, 0x44810088
mov ecx, dword [0x497a60]
inc ecx
mov dword [0x497a60], ecx
and ecx, 0x53cde63d
cmp eax, ecx
jg 0x4239e7
jmp 0x4239e7
jmp 0x4239ec
jmp 0x4239f1
mov eax, esp
lea ecx, [esp + 0x6a4]
mov dword [eax], ecx
lea eax, [esp + 0x1ec]
mov ecx, eax
mov dword [esp + 0x10c], eax
call fcn.00406b50
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x10c]
mov dword [ecx], edx
lea ecx, [esp + 0x66c]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x104], eax
call fcn.0044ce30
sub esp, 4
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x100], eax
call fcn.0044cf90
mov eax, dword [0x49db24]
or eax, 0xea040422
mov ecx, dword [0x49cbe0]
add ecx, eax
mov dword [0x49cbe0], ecx
mov eax, esp
mov dword [eax + 4], 0x32
mov dword [eax], 0x1f40
call fcn.00430db0
mov dword [esp + 0xa44], eax
mov si, word [0x4a60ac]
mov ax, si
inc eax
mov di, ax
mov word [0x4a60ac], di
movsx eax, si
xor eax, 0x8f67dc04
mov ecx, dword [0x4956d8]
or ecx, eax
mov dword [0x4956d8], ecx
mov eax, dword [esp + 0xa44]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x1d8]
mov ecx, eax
mov dword [esp + 0xfc], eax
call fcn.00406b50
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xfc]
mov dword [ecx], edx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xf8], eax
call fcn.0044ce30
sub esp, 4
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xf4], eax
call fcn.0044cf90
mov eax, dword [0x4988b8]
xor eax, 0xa706a57a
mov ecx, dword [0x495334]
or ecx, eax
mov dword [0x495334], ecx
mov eax, dword [esp + 0xa44]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x32
call fcn.00404f30
mov si, word [0x4a5d30]
movsx eax, si
sar eax, 7
xor eax, 0x4afa4809
or eax, 0x7bf7520c
cmp eax, 0x9e5d70b7
jle 0x423b90
mov ax, word [0x4aa1c2]
movsx ecx, ax
shl ecx, 2
imul ecx, ecx, 0xb40af555
cmp ecx, 0x84fc13dd
je 0x423b8b
mov ax, word [0x4a9822]
mov cx, ax
and ecx, 0xd397
mov ax, cx
mov word [0x4a9822], ax
jmp 0x423b90
mov eax, esp
lea ecx, [esp + 0x8d0]
mov dword [eax], ecx
lea eax, [esp + 0x1c4]
mov ecx, eax
mov dword [esp + 0xf0], eax
call fcn.00406b50
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xf0]
mov dword [ecx], edx
lea ecx, [esp + 0x66c]
mov dword [esp + 0xec], eax
call fcn.0044ce30
sub esp, 4
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xe8], eax
call fcn.0044cf90
mov eax, dword [0x49e0fc]
mov ecx, dword [0x49f2c0]
lea eax, [eax + ecx + 0x151aea92]
mov si, ax
mov word [0x4a4a62], si
cmp dword [esp + 0x230], 0
je 0x423e71
mov eax, 0x38ff3fef
mov ecx, dword [0x495a1c]
xor ecx, 0xffffffff
or ecx, 0xdb16702e
cmp eax, ecx
jg 0x423c45
mov ax, word [0x4a6088]
mov cx, ax
or ecx, 0x99f9
mov ax, cx
mov word [0x4a6088], ax
mov eax, esp
mov dword [eax + 4], 0x44
mov dword [eax], 0x13ed
call fcn.00430db0
mov dword [esp + 0xa40], eax
mov eax, dword [0x496290]
sar eax, 7
mov ecx, dword [0x49f368]
sar ecx, 2
imul ecx, ecx, 0x94ad67f3
cmp eax, ecx
jl 0x423c9c
mov ax, word [0x4a80be]
mov cx, ax
or ecx, 0x8003
mov ax, cx
mov word [0x4a80be], ax
jmp 0x423cac
mov eax, dword [0x48fe74]
imul eax, eax, 0xe3e3db98
mov dword [0x48fe74], eax
mov eax, 0x9eefee67
mov ecx, dword [esp + 0xa40]
mov edx, esp
mov dword [edx], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], eax
call fcn.00406b50
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xe4]
mov dword [ecx], edx
lea ecx, [esp + 0x66c]
mov dword [esp + 0xdc], eax
call fcn.0044ce30
sub esp, 4
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xd8], eax
call fcn.0044cf90
mov si, word [0x4a6976]
mov ax, si
add eax, 0x240a6601
mov si, ax
mov word [0x4a6976], si
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x2601
call fcn.00430db0
mov dword [esp + 0xa3c], eax
mov eax, dword [0x491704]
or eax, 0x9d82eccf
mov dword [0x491704], eax
mov eax, dword [esp + 0xa40]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x44
call fcn.00404f30
mov eax, dword [0x49721c]
mov ecx, eax
inc ecx
mov dword [0x49721c], ecx
sub eax, 0x81a2398e
mov ecx, dword [esp + 0xe0]
cmp ecx, eax
jg 0x423da1
mov ax, word [0x4a32c8]
mov cx, ax
and ecx, 0x7524
mov ax, cx
mov word [0x4a32c8], ax
mov ecx, dword [esp + 0xa60]
call fcn.00430d50
mov ecx, dword [esp + 0xa3c]
mov edx, esp
mov dword [edx + 8], eax
mov dword [edx + 4], ecx
lea eax, [esp + 0x240]
mov dword [edx], eax
mov dword [esp + 0xd4], eax
call fcn.00455952
mov ecx, dword [0x499b30]
and ecx, 0xb4b63bbe
mov dword [0x499b30], ecx
mov ecx, dword [esp + 0xa3c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0xd0], eax
call fcn.00404f30
mov dword [0x49445c], 0xc4a7a9ad
mov eax, esp
mov ecx, dword [esp + 0xd4]
mov dword [eax], ecx
lea eax, [esp + 0x19c]
mov ecx, eax
mov dword [esp + 0xcc], eax
call fcn.00406b50
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0xcc]
mov dword [ecx], edx
lea ecx, [esp + 0x66c]
mov dword [esp + 0xc8], eax
call fcn.0044ce30
sub esp, 4
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc4], eax
call fcn.0044cf90
mov eax, dword [0x490220]
add eax, 0xcd6696f3
mov dword [0x490220], eax
mov ax, word [0x4a7ed2]
mov cx, ax
xor ecx, 0x4b44
mov ax, cx
mov word [0x4a7ed2], ax
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x4260
call fcn.00430db0
mov dword [esp + 0xa38], eax
mov dx, word [0x4a6e86]
mov ax, dx
mov ecx, eax
inc ecx
mov dx, cx
mov word [0x4a6e86], dx
mov dx, word [0x4a2658]
mov cx, dx
lea eax, [eax + ecx - 0x7bd1c3ab]
mov dx, ax
mov word [0x4a2658], dx
mov eax, dword [esp + 0xa38]
mov ecx, esp
mov dword [ecx], eax
lea eax, [esp + 0x188]
mov ecx, eax
mov dword [esp + 0xc0], eax
call fcn.00406b50
sub esp, 4
mov ecx, esp
mov esi, dword [esp + 0xc0]
mov dword [ecx], esi
lea ecx, [esp + 0x66c]
mov dword [esp + 0xbc], eax
call fcn.0044ce30
sub esp, 4
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xb8], eax
call fcn.0044cf90
mov eax, dword [0x4960ac]
or eax, 0x8f688e21
mov dword [0x4960ac], eax
mov eax, dword [esp + 0xa38]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.00404f30
mov eax, dword [0x496988]
add eax, 0x75c8becb
mov dword [0x496988], eax
cmp dword [esp + 0x230], 0
je 0x42403b
mov eax, 0xebcb3f92
mov ecx, 0x482bc3a7
mov dword [0x49742c], 0xfc50caa2
mov edx, dword [esp + 0xa60]
mov esi, esp
mov dword [esi], edx
lea edx, [esp + 0x66c]
mov dword [esp + 0xb4], ecx
mov ecx, edx
mov dword [esp + 0xb0], eax
call fcn.0044ce30
sub esp, 4
mov ecx, dword [0x494ca4]
mov edx, ecx
inc edx
mov dword [0x494ca4], edx
mov edx, dword [0x49bd50]
mov esi, dword [esp + 0xb4]
sub esi, edx
xor ecx, esi
mov edx, dword [esp + 0xb0]
cmp edx, ecx
mov dword [esp + 0xac], eax
jl 0x424036
mov eax, 0x6197e386
mov cx, word [0x4a12de]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a12de], cx
movsx edx, cx
mov esi, dword [0x49caa0]
xor esi, 0xffffffff
imul esi, esi, 0xc61f5505
add edx, esi
cmp eax, edx
jne 0x424028
mov word [0x4a6ffa], 0xed54
jmp 0x424031
mov word [0x4aa2a8], 0x714c
jmp 0x424036
jmp 0x42403b
mov eax, 0xc00751a4
mov ecx, dword [0x492500]
inc ecx
mov dword [0x492500], ecx
mov dword [0x48ff14], ecx
mov ecx, dword [0x48e88c]
mov edx, esp
lea esi, [esp + 0x8d0]
mov dword [edx], esi
mov dword [esp + 0xa8], eax
call ecx
sub esp, 4
mov dword [esp + 0x23c], eax
mov eax, dword [0x49de80]
xor eax, 0xffffffff
xor eax, 0xc0eda60c
mov ecx, dword [esp + 0xa8]
cmp ecx, eax
jle 0x4240b0
mov ax, word [0x4a3936]
mov cx, ax
or ecx, 0x3d04
mov ax, cx
mov word [0x4a3936], ax
jmp 0x4240c0
mov eax, dword [0x493448]
imul eax, eax, 0x3f5e7fc7
mov dword [0x493448], eax
cmp dword [esp + 0x23c], 0
jne 0x4240f9
mov eax, dword [0x49330c]
mov ecx, eax
inc ecx
mov dword [0x49330c], ecx
add eax, 0xbfbcf136
xor eax, 0xcea133d7
mov ecx, dword [0x49f290]
or ecx, eax
mov dword [0x49f290], ecx
jmp 0x425477
mov eax, 0xb5084126
mov cx, word [0x4a44b4]
movsx edx, cx
shl edx, 5
mov esi, dword [0x496d90]
sub esi, edx
mov dword [0x496d90], esi
xorps xmm0, xmm0
movaps xmmword [esp + 0x680], xmm0
mov cx, word [0x4a3596]
mov dx, cx
add edx, 0xbafdf7b0
mov cx, dx
mov word [0x4a3596], cx
mov word [esp + 0x680], 2
mov cx, word [0x4a2eac]
movsx edx, cx
add edx, 0xbb396fcd
and edx, 0x1f3927d3
mov esi, dword [0x497ccc]
imul esi, edx
mov dword [0x497ccc], esi
mov edx, dword [0x48e894]
mov esi, dword [0x48e898]
mov edi, dword [esp + 0x23c]
mov edi, dword [edi + 0xc]
mov edi, dword [edi]
mov edi, dword [edi]
mov dword [esp + 0x184], edi
mov edi, dword [esp + 0x184]
mov ebx, esp
mov dword [ebx], edi
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], edx
call esi
sub esp, 4
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0xa0]
call eax
sub esp, 4
mov dword [esp + 0x684], eax
mov eax, dword [0x494ef4]
mov edx, eax
inc edx
mov dword [0x494ef4], edx
mov edx, dword [esp + 0xa4]
cmp edx, eax
jl 0x4241f4
mov eax, dword [0x49e2b0]
add eax, 0xb4d08400
mov dword [0x49e2b0], eax
jmp 0x42420d
mov eax, dword [0x494fc8]
imul eax, eax, 0x4641a906
mov ecx, dword [0x4990f0]
sub ecx, eax
mov dword [0x4990f0], ecx
mov eax, dword [0x48e890]
movzx ecx, word [esp + 0x218]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov word [esp + 0x682], ax
mov ecx, dword [0x491bec]
shl ecx, 0xa
mov edx, dword [0x49deac]
xor ecx, edx
xor ecx, 0xcceb3d3c
mov dword [0x49deac], ecx
cmp dword [esp + 0xa64], 0
je 0x424449
mov eax, dword [0x4983d0]
mov ecx, eax
dec ecx
mov dword [0x4983d0], ecx
mov ecx, dword [0x49ad38]
shr ecx, 3
neg ecx
lea eax, [eax + ecx - 1]
or eax, 0xf052
mov dx, word [0x4a35b4]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4a35b4], dx
mov eax, dword [esp + 0xa64]
mov ecx, 0x10624dd3
mul ecx
shr edx, 6
mov eax, esp
mov dword [eax + 4], edx
lea ecx, [esp + 0x680]
mov dword [eax], ecx
call fcn.0043ff90
mov dword [esp + 0x6a0], eax
mov si, word [0x4a9e1e]
mov ax, si
mov ecx, 0x3d0b2ba2
sub ecx, eax
or ecx, 0x5f06
mov si, word [0x4a8d5c]
mov ax, si
and eax, ecx
mov si, ax
mov word [0x4a8d5c], si
cmp dword [esp + 0x6a0], 0
jge 0x424311
mov ax, word [0x4a7a10]
mov cx, ax
add ecx, 0x241050c
mov ax, cx
mov word [0x4a7a10], ax
jmp 0x425477
mov eax, 0x8414c110
mov ecx, dword [0x498d18]
shl ecx, 9
mov edx, dword [0x49f350]
and ecx, edx
and ecx, 0x57ed8200
mov dword [0x49f350], ecx
mov ecx, dword [0x48e8ac]
mov edx, dword [esp + 0x6a0]
mov esi, esp
lea edi, [esp + 0xa64]
mov dword [esi + 0xc], edi
mov dword [esi], edx
mov dword [esi + 0x10], 4
mov dword [esi + 8], 0x1006
mov dword [esi + 4], 0xffff
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], edi
call ecx
sub esp, 0x14
mov ecx, dword [0x49fa3c]
shl ecx, 6
add ecx, 0x46cf3a33
mov edx, dword [0x4917c4]
xor edx, ecx
mov dword [0x4917c4], edx
mov ecx, dword [0x48e8ac]
mov edx, dword [esp + 0x6a0]
mov esi, esp
mov edi, dword [esp + 0x98]
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 + 0x94], eax
call ecx
sub esp, 0x14
mov bx, word [0x4a4aa8]
movsx ecx, bx
sar ecx, 6
mov edx, dword [esp + 0x9c]
cmp edx, ecx
mov dword [esp + 0x90], eax
jg 0x424435
mov eax, 0x1606f83d
mov ecx, dword [0x49ea84]
xor ecx, 0xbca7ef02
cmp eax, ecx
jl 0x424430
mov ax, word [0x4a5b9c]
movsx ecx, ax
xor ecx, 0xbb330f8b
cmp ecx, 0x55d7ec4a
jg 0x42442b
jmp 0x42442b
jmp 0x424430
jmp 0x424444
mov eax, dword [0x495ed0]
add eax, 0x592e69cb
mov dword [0x495ed0], eax
jmp 0x424608
mov eax, 0xe16fbe7f
mov ecx, dword [0x494078]
cmp eax, ecx
jle 0x4244ac
mov eax, 0xe4f8204
mov ecx, dword [0x4a07cc]
mov edx, ecx
inc edx
mov dword [0x4a07cc], edx
add ecx, 0x3bba567f
mov si, word [0x4a3b3e]
movsx edx, si
add ecx, edx
cmp eax, ecx
jge 0x4244a7
mov ax, word [0x4a17ce]
movsx ecx, ax
or ecx, 0xe0297182
mov edx, dword [0x497594]
add edx, ecx
mov dword [0x497594], edx
jmp 0x4244ac
mov eax, 0xf79efe3e
mov ecx, dword [0x48e8b0]
mov edx, esp
mov dword [edx + 8], 6
mov dword [edx + 4], 1
mov dword [edx], 2
mov dword [esp + 0x8c], eax
call ecx
sub esp, 0xc
mov dword [esp + 0x6a0], eax
mov eax, dword [0x49c548]
shl eax, 2
and eax, 0xa9075f2a
xor eax, 0xb1e52318
mov ecx, dword [esp + 0x8c]
cmp ecx, eax
jl 0x424561
mov eax, 0x85000400
mov cx, word [0x4a6190]
movsx edx, cx
not edx
mov esi, dword [0x49fcd8]
shl esi, 6
add esi, 0x81378836
xor edx, esi
cmp eax, edx
jge 0x42453f
mov eax, dword [0x4959a8]
add eax, 0xbd8cdcfd
mov dword [0x4959a8], eax
jmp 0x42455c
mov eax, dword [0x49d4ac]
mov ecx, eax
inc ecx
mov dword [0x49d4ac], ecx
mov ecx, dword [0x49f284]
imul ecx, eax
mov dword [0x49f284], ecx
jmp 0x424561
cmp dword [esp + 0x6a0], 0xffffffff
jne 0x424583
mov eax, dword [0x4960a0]
add eax, 0x37af9e1d
mov dword [0x4960a0], eax
jmp 0x425477
lea eax, [esp + 0x680]
mov ecx, dword [0x49c264]
add ecx, 0x77415636
mov dword [0x49c264], ecx
mov ecx, dword [0x48e888]
mov edx, dword [esp + 0x6a0]
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 0x4245f0
mov eax, dword [0x49ea14]
mov ecx, dword [0x497a54]
inc ecx
mov dword [0x497a54], ecx
or eax, ecx
mov ecx, dword [0x493a6c]
or eax, ecx
or eax, 0x705cbfa6
mov dword [0x493a6c], eax
jmp 0x425419
mov eax, dword [0x499800]
mov ecx, eax
dec ecx
mov dword [0x499800], ecx
and eax, 0x6205a796
mov dword [0x49c9d4], eax
lea eax, [esp + 0x66c]
mov ecx, dword [0x4944dc]
and ecx, 0xb1f6ba9c
xor ecx, 0xaca9c263
mov edx, dword [0x49a8f0]
add edx, ecx
mov dword [0x49a8f0], edx
mov ecx, dword [0x48e8a8]
lea edx, [esp + 0x66c]
mov dword [esp + 0x88], ecx
mov ecx, edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edx
call fcn.00430d50
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x7c], eax
call fcn.0041cb40
mov ecx, dword [esp + 0x6a0]
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 + 0x69c], eax
mov di, word [0x4a22dc]
mov ax, di
add eax, 0x9ec7a6ea
mov di, ax
mov word [0x4a22dc], di
mov eax, dword [esp + 0x69c]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x78], eax
call fcn.00430d50
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jae 0x4246f5
mov ax, word [0x4a56ce]
movsx ecx, ax
add ecx, 0xcc946c8
mov edx, dword [0x49dad0]
and edx, ecx
mov dword [0x49dad0], edx
jmp 0x425419
mov eax, dword [0x49978c]
dec eax
mov dword [0x49978c], eax
xor eax, 0x2112423
mov ecx, dword [0x492fec]
or eax, ecx
or eax, 0xf1e4cbd4
mov dword [0x492fec], eax
mov ecx, dword [esp + 0xa60]
call fcn.00437280
mov dx, word [0x4a1afa]
movsx eax, dx
shl eax, 6
mov ecx, dword [0x492f44]
sub ecx, eax
mov dword [0x492f44], ecx
mov eax, 0x6d1057b7
mov ecx, dword [0x4974c0]
or ecx, 0xc5a0e57
mov dword [0x4974c0], ecx
mov ecx, dword [0x48e8a0]
mov edx, dword [esp + 0x6a0]
mov esi, esp
lea edi, [esp + 0x240]
mov dword [esi + 4], edi
mov dword [esi], edx
mov dword [esi + 0xc], 0
mov dword [esi + 8], 0x400
mov dword [esp + 0x74], eax
call ecx
sub esp, 0x10
mov dword [esp + 0x69c], eax
mov eax, dword [0x490078]
shl eax, 6
xor eax, 0x3cbd515c
mov ecx, dword [esp + 0x74]
cmp ecx, eax
jl 0x4247b6
mov eax, dword [0x498ec8]
add eax, 0xa0098401
mov dword [0x498ec8], eax
cmp dword [esp + 0x69c], 0
jle 0x4247e7
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x22c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], eax
call fcn.0044ebd0
cmp eax, 0
je 0x424816
mov eax, 0x4298fdc8
mov cx, word [0x4a9908]
movsx edx, cx
sar edx, 6
cmp eax, edx
jle 0x424811
mov eax, dword [0x496af0]
imul eax, eax, 0x181e8737
mov dword [0x496af0], eax
jmp 0x42516c
mov eax, dword [0x49e184]
imul eax, eax, 0x3360cdda
mov ecx, dword [0x49a138]
mov edx, ecx
inc edx
mov dword [0x49a138], edx
cmp eax, ecx
jle 0x424850
mov ax, word [0x4a8616]
mov cx, ax
xor ecx, 0x84c3
mov ax, cx
mov word [0x4a8616], ax
mov eax, dword [esp + 0xa60]
mov ecx, eax
mov dword [esp + 0x70], eax
call fcn.00430d50
mov ecx, dword [esp + 0x69c]
add eax, ecx
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x70]
call fcn.00440db0
sub esp, 8
mov eax, dword [0x493108]
or eax, 0x59b3f2a8
mov dword [0x493108], eax
mov eax, dword [esp + 0xa60]
mov ecx, eax
call fcn.0044cf20
cmp eax, 0
jne 0x42491a
mov eax, 0x2dfefddd
mov ecx, dword [0x49c724]
or ecx, 0x40108445
cmp eax, ecx
je 0x4248f0
mov ax, word [0x4a79a6]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a79a6], ax
movsx ecx, ax
xor ecx, 0x9c6076e6
mov edx, dword [0x48ea5c]
and edx, ecx
mov dword [0x48ea5c], edx
jmp 0x424915
mov eax, dword [0x490c6c]
mov ecx, eax
inc ecx
mov dword [0x490c6c], ecx
add eax, 0xa41b8c9b
mov ecx, dword [0x492e98]
and eax, ecx
and eax, 0xc0b75bf0
mov dword [0x492e98], eax
jmp 0x42516c
mov ax, word [0x4a8dd2]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4a8dd2], ax
movsx ecx, ax
imul ecx, ecx, 0xa8309184
cmp ecx, 0xb502b66d
jle 0x424978
mov eax, 0x8a49f19a
mov ecx, dword [0x49b220]
mov edx, ecx
dec edx
mov dword [0x49b220], edx
xor ecx, 0x7ae4a4f9
cmp eax, ecx
jle 0x424973
mov eax, dword [0x4a1084]
and eax, 0x1d594a08
mov dword [0x4a1084], eax
jmp 0x424978
mov ecx, dword [esp + 0xa60]
mov eax, dword [esp + 0x69c]
mov edx, esp
mov dword [edx + 4], eax
lea eax, [esp + 0x240]
mov dword [edx], eax
call fcn.00442cd0
sub esp, 8
mov ecx, dword [0x49971c]
and ecx, 0xffeeffff
mov dword [0x49971c], ecx
cmp dword [esp + 0x220], 0
mov dword [esp + 0x6c], eax
jge 0x424c85
mov word [0x4a6ade], 0xc587
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x4260
call fcn.00430db0
mov dword [esp + 0xa34], eax
mov eax, dword [0x491db4]
mov ecx, dword [0x49a97c]
and ecx, eax
mov dword [0x49a97c], ecx
mov ecx, dword [esp + 0xa60]
mov eax, dword [esp + 0xa34]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x170]
mov dword [esp + 0x68], ecx
mov ecx, eax
mov dword [esp + 0x64], eax
call fcn.0043c5a0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x64]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x60], eax
call fcn.00422670
sub esp, 8
mov dword [esp + 0x220], eax
mov ecx, dword [esp + 0x64]
call fcn.00404fe0
mov eax, dword [0x49e4b4]
mov ecx, dword [0x493498]
shl ecx, 8
xor eax, ecx
mov ecx, dword [0x49d99c]
xor ecx, eax
mov dword [0x49d99c], ecx
mov eax, dword [esp + 0xa34]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.00404f30
mov eax, dword [0x493668]
dec eax
mov dword [0x493668], eax
and eax, 0xeafc8d75
mov dword [0x491dc4], eax
cmp dword [esp + 0x220], 0
jl 0x424c68
mov eax, dword [0x494e74]
or eax, 0xe1518f05
mov dword [0x494e74], eax
mov eax, dword [esp + 0x220]
add eax, 4
mov dword [esp + 0x220], eax
mov eax, dword [0x492f14]
mov cx, word [0x4a9a28]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4a9a28], cx
mov eax, dword [esp + 0xa60]
mov edx, esp
mov dword [edx], eax
call fcn.0042b950
mov dword [esp + 0x21c], eax
mov eax, dword [0x496918]
mov edx, dword [0x49577c]
add edx, 0x41ae3486
xor eax, edx
mov edx, dword [0x497c94]
and edx, eax
mov dword [0x497c94], edx
cmp dword [esp + 0x21c], 0
jge 0x424c44
mov ax, word [0x4aa4cc]
mov cx, ax
xor ecx, 0x9a4
mov ax, cx
mov word [0x4aa4cc], ax
mov ecx, esp
mov dword [ecx + 4], 0xb
mov dword [ecx], 0x344
call fcn.00430db0
mov dword [esp + 0xa30], eax
mov eax, dword [0x495fd8]
mov ecx, eax
inc ecx
mov dword [0x495fd8], ecx
add eax, 0xe7d20638
mov ecx, dword [0x495950]
imul ecx, eax
mov dword [0x495950], ecx
mov ecx, dword [esp + 0xa60]
mov eax, dword [esp + 0xa30]
mov edx, esp
mov dword [edx], eax
lea eax, [esp + 0x15c]
mov dword [esp + 0x5c], ecx
mov ecx, eax
mov dword [esp + 0x58], eax
call fcn.0043c5a0
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x58]
mov dword [ecx], edx
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
call fcn.00422670
sub esp, 8
mov dword [esp + 0x69c], eax
mov ecx, dword [esp + 0x58]
call fcn.00404fe0
mov eax, dword [0x492fd4]
add eax, 0x78a0a94f
mov dword [0x492fd4], eax
mov eax, dword [esp + 0xa30]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0xb
call fcn.00404f30
mov eax, dword [0x491a68]
mov ecx, eax
inc ecx
mov dword [0x491a68], ecx
and eax, 0xdc370b8e
mov dword [0x48f81c], eax
cmp dword [esp + 0x69c], 0
jl 0x424c35
mov dword [0x493bbc], 0x3f5affda
jmp 0x42516c
mov eax, dword [0x491484]
or eax, 0xff98dc06
mov dword [0x491484], eax
mov ax, word [0x4a6d56]
movsx ecx, ax
imul ecx, ecx, 0xf821e917
add ecx, 0xc9149a7c
mov edx, dword [0x4972ac]
imul edx, ecx
mov dword [0x4972ac], edx
mov eax, dword [0x490238]
xor eax, 0x2c20304
or eax, 0xf5307460
mov ecx, dword [0x4926e0]
xor ecx, eax
mov dword [0x4926e0], ecx
mov eax, 0xe8fd8daf
mov ecx, dword [0x49de1c]
imul ecx, ecx, 0xa0d9a1bb
cmp eax, ecx
jne 0x424d1d
mov eax, 0xc1f0624
mov ecx, dword [0x49a9fc]
mov edx, dword [0x494a48]
imul edx, edx, 0x23d9bc6f
add ecx, edx
cmp eax, ecx
jle 0x424ce5
mov eax, 0xaab4a23
mov ecx, dword [0x494b1c]
xor ecx, 0xffffffff
or ecx, 0xf33f8216
cmp eax, ecx
jne 0x424ce0
jmp 0x424ce0
jmp 0x424d18
mov eax, dword [0x499034]
not eax
mov ecx, dword [0x49a198]
dec ecx
mov dword [0x49a198], ecx
imul eax, ecx
imul eax, eax, 0xac02ce77
mov dx, word [0x4a156a]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x4a156a], dx
jmp 0x424d1d
cmp dword [esp + 0x21c], 0
jl 0x424df7
mov eax, dword [0x4a0fc4]
mov cx, word [0x4a2c7e]
movsx edx, cx
cmp eax, edx
jge 0x424d8a
mov eax, 0x28a7b5ef
mov ecx, dword [0x499788]
mov edx, dword [0x4947a0]
xor edx, 0xffffffff
add ecx, edx
cmp eax, ecx
jge 0x424d85
mov eax, 0x2069c03b
mov ecx, dword [0x49ed50]
shl ecx, 0xa
cmp eax, ecx
jge 0x424d7b
jmp 0x424d80
jmp 0x424d80
jmp 0x424d85
jmp 0x424d8a
mov eax, dword [esp + 0xa60]
mov ecx, eax
call fcn.00430d50
sub eax, dword [esp + 0x220]
cmp eax, dword [esp + 0x21c]
jb 0x424de8
mov ax, word [0x4a33a0]
movsx ecx, ax
sar ecx, 1
mov edx, dword [0x49ee40]
inc edx
mov dword [0x49ee40], edx
mov esi, dword [0x49ba88]
xor edx, esi
cmp ecx, edx
je 0x424de3
mov eax, dword [0x498528]
or eax, 0x5cb4ebf0
mov dword [0x494df0], eax
jmp 0x42516c
mov eax, dword [0x495e20]
add eax, 0xa5942d2
mov dword [0x495e20], eax
mov eax, dword [0x497a90]
xor eax, 0xf1a411d7
mov dword [0x497a90], eax
cmp dword [esp + 0xa68], 0
je 0x425085
test byte [esp + 0x217], 1
jne 0x425085
mov eax, dword [0x49397c]
add eax, 0x66a481ac
mov dword [0x49397c], eax
mov eax, dword [esp + 0xa60]
mov ecx, eax
call fcn.00430d50
cmp eax, 0x4000
jbe 0x425076
mov eax, dword [0x493fb4]
mov ecx, eax
dec ecx
mov dword [0x493fb4], ecx
mov dx, word [0x4a20f0]
mov cx, dx
lea eax, [ecx + eax - 1]
mov dx, ax
mov word [0x4a20f0], dx
mov byte [esp + 0x217], 1
mov eax, dword [0x49e638]
mov ecx, dword [0x49e780]
or ecx, eax
mov dword [0x49e780], ecx
mov eax, dword [esp + 0xa60]
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x148]
call fcn.004315d0
sub esp, 4
mov ecx, dword [0x496514]
add ecx, 0x8b9dc006
mov dword [0x496514], ecx
cmp dword [esp + 0x220], 0
mov dword [esp + 0x50], eax
jl 0x424f46
mov eax, dword [0x4a0574]
xor eax, 0xe5c98ea5
mov ecx, dword [0x493168]
imul ecx, eax
mov dword [0x493168], ecx
mov eax, dword [esp + 0x220]
mov ecx, esp
mov dword [ecx], 0
lea ecx, [esp + 0x148]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], eax
call fcn.00430580
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x48]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x4c]
call fcn.0043fc40
sub esp, 8
mov ecx, dword [0x490fec]
mov edx, ecx
inc edx
mov dword [0x490fec], edx
add ecx, 0x529620c0
mov edx, dword [0x495300]
sub edx, ecx
mov dword [0x495300], edx
mov dword [esp + 0x44], eax
lea eax, [esp + 0x148]
lea ecx, [esp + 0x8d0]
mov edx, dword [0x4953b8]
add edx, 0x9f0782f6
mov dword [0x4953b8], edx
mov edx, dword [esp + 0xa68]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004011a0
cmp eax, 0
jne 0x425000
mov eax, dword [0x494140]
sar eax, 3
mov ecx, dword [0x496bc8]
imul ecx, eax
mov dword [0x496bc8], ecx
mov dword [esp + 0x220], 0xffffffff
mov dx, word [0x4a37fc]
mov ax, dx
or eax, 0x4ce7
mov dx, ax
mov word [0x4a37fc], dx
mov ecx, dword [esp + 0xa60]
call fcn.00437280
mov eax, dword [0x49d85c]
mov ecx, dword [0x497b54]
xor ecx, eax
mov dx, word [0x4a4ca2]
mov ax, dx
xor ecx, eax
mov dx, cx
mov word [0x4a4ca2], dx
mov dword [esp + 0x144], 0xd
jmp 0x425037
mov eax, dword [0x497f54]
inc eax
mov dword [0x497f54], eax
mov cx, word [0x4a14c6]
movsx edx, cx
shr edx, 1
xor eax, edx
or eax, 0x9621e07b
mov edx, dword [0x49ea24]
sub edx, eax
mov dword [0x49ea24], edx
mov dword [esp + 0x144], 0
lea ecx, [esp + 0x148]
call fcn.0044cf90
mov ecx, dword [esp + 0x144]
test ecx, ecx
mov dword [esp + 0x40], ecx
je 0x425071
jmp 0x42505b
mov eax, dword [esp + 0x40]
sub eax, 0xd
mov dword [esp + 0x3c], eax
je 0x42516c
jmp 0x4255ac
jmp 0x425076
mov eax, dword [0x49423c]
xor eax, 0xfff7ff7f
mov dword [0x49423c], eax
mov ax, word [0x4a61c8]
movsx ecx, ax
mov edx, dword [0x4944f4]
imul edx, ecx
mov dword [0x4944f4], edx
cmp dword [esp + 0xa64], 0x3ad5
jne 0x42513b
mov eax, dword [0x4927ac]
and eax, 0x56843a0b
mov dword [0x4927ac], eax
mov eax, dword [esp + 0xa60]
mov ecx, eax
call fcn.00430d50
cmp eax, 0x500000
jbe 0x4250e5
mov dword [0x490b84], 0x7fbcde2f
jmp 0x42516c
mov eax, dword [0x49b57c]
dec eax
mov dword [0x49b57c], eax
mov ecx, dword [0x49a600]
mov edx, ecx
inc edx
mov dword [0x49a600], edx
mov edx, dword [0x4981d0]
mov esi, dword [0x49b774]
xor esi, 0xffffffff
imul edx, esi
xor ecx, edx
cmp eax, ecx
jge 0x425136
mov eax, dword [0x48fc18]
mov cx, word [0x4a6eba]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4a6eba], cx
jmp 0x42513b
mov eax, dword [0x4a0970]
mov ecx, eax
inc ecx
mov dword [0x4a0970], ecx
xor eax, 0x7d758ee0
mov ecx, dword [0x4967c4]
not ecx
or eax, ecx
mov ecx, dword [0x4920e0]
imul ecx, eax
mov dword [0x4920e0], ecx
jmp 0x42473e
mov eax, 0x6c90ddfd
mov ecx, dword [0x49418c]
sar ecx, 0xa
cmp eax, ecx
je 0x42519d
mov eax, dword [0x491050]
mov cx, word [0x4a79a6]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4a79a6], cx
cmp dword [esp + 0x220], 0
jl 0x425217
mov eax, dword [0x4907c8]
xor eax, 0x6efa5303
mov dword [0x4907c8], eax
mov eax, dword [esp + 0xa60]
mov ecx, dword [esp + 0x220]
mov edx, esp
mov dword [edx], 0
mov dword [esp + 0x38], ecx
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.00430580
sub esp, 4
mov ecx, esp
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov ecx, dword [esp + 0x34]
call fcn.0043fc40
sub esp, 8
mov si, word [0x4a1598]
mov cx, si
add ecx, 0x8a1340af
mov si, cx
mov word [0x4a1598], si
mov dword [esp + 0x30], eax
mov eax, 0x882af2b7
mov ecx, dword [0x48eda4]
shl ecx, 3
cmp eax, ecx
jg 0x425243
mov eax, dword [0x490404]
shl eax, 8
mov ecx, dword [0x49c594]
xor ecx, eax
mov dword [0x49c594], ecx
cmp dword [esp + 0xa68], 0
je 0x42540a
test byte [esp + 0x217], 1
jne 0x42540a
lea eax, [esp + 0x8d0]
mov ecx, dword [0x49b5bc]
and ecx, 0xb5146545
mov dword [0x49b5bc], ecx
mov ecx, dword [esp + 0xa68]
mov edx, dword [esp + 0xa60]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004011a0
cmp eax, 0
jne 0x4253a0
mov eax, dword [0x4a0170]
inc eax
mov dword [0x4a0170], eax
add eax, 0xa7ad3039
cmp eax, 0xb4200e9f
jg 0x4252d5
mov eax, dword [0x4959e0]
shl eax, 3
mov ecx, dword [0x49e85c]
or ecx, eax
mov dword [0x49e85c], ecx
jmp 0x42531a
mov eax, 0x1706fef2
mov ecx, dword [0x49707c]
inc ecx
mov dword [0x49707c], ecx
mov edx, dword [0x49dbf8]
add edx, 0x317b9566
xor ecx, edx
cmp eax, ecx
jle 0x425315
mov ax, word [0x4a3a2a]
mov cx, ax
imul ecx, ecx, 0x93d2aeb4
mov ax, cx
mov word [0x4a3a2a], ax
jmp 0x42531a
mov eax, 0x26006428
mov ecx, dword [esp + 0xa60]
mov dword [esp + 0x2c], eax
call fcn.00437280
mov dx, word [0x4a7a0c]
mov ax, dx
dec eax
mov dx, ax
mov word [0x4a7a0c], dx
movsx eax, dx
mov ecx, dword [0x497810]
add ecx, 0xb52dec36
xor eax, ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jl 0x42538c
mov eax, dword [0x49bb58]
dec eax
mov dword [0x49bb58], eax
and eax, 0x5d1e
mov cx, word [0x4a613a]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x4a613a], cx
jmp 0x42539b
mov eax, dword [0x48fe7c]
xor eax, 0xbecc10fe
mov dword [0x48fe7c], eax
jmp 0x4253a0
mov eax, dword [0x494748]
xor eax, 0xffffffff
and eax, 0x9040f831
or eax, 0xd30b1fc3
cmp eax, 0xfb0aa050
jg 0x425405
mov ax, word [0x4a5960]
movsx ecx, ax
mov edx, dword [0x49775c]
imul edx, edx, 0x805c7e9
cmp ecx, edx
jge 0x425400
mov eax, 0x1c532617
mov ecx, dword [0x49d330]
xor ecx, 0xffffffff
add ecx, 0x55f0ebc7
cmp eax, ecx
jle 0x4253fb
jmp 0x4253fb
jmp 0x425400
jmp 0x425405
jmp 0x42540a
mov eax, dword [0x49c980]
add eax, 0x1ce2944c
mov dword [0x49c980], eax
mov eax, dword [0x48e8b8]
mov ecx, dword [esp + 0x6a0]
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 2
call eax
sub esp, 8
mov ecx, dword [0x491618]
add ecx, 0x32141de
mov dword [0x491618], ecx
mov ecx, dword [0x48e884]
mov edx, dword [esp + 0x6a0]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x28], eax
call ecx
sub esp, 4
mov ecx, dword [0x494b68]
xor ecx, 0x24062a1b
mov dword [0x494b68], ecx
mov dword [esp + 0x24], eax
mov eax, 0x87640155
mov ecx, esp
lea edx, [esp + 0x8d0]
mov dword [ecx], edx
mov dword [ecx + 4], 0xac
mov dword [esp + 0x20], eax
call fcn.00417500
mov si, word [0x4aa24c]
movsx eax, si
add eax, 0xd0061616
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jge 0x4254c1
mov eax, dword [0x49b260]
and eax, 0x860020
mov dword [0x49b260], eax
mov eax, 0xef7d7fef
mov ecx, esp
lea edx, [esp + 0x97c]
mov dword [ecx], edx
mov dword [ecx + 4], 0xac
mov dword [esp + 0x1c], eax
call fcn.00417500
mov si, word [0x4a5662]
movsx eax, si
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jne 0x425501
mov dword [0x49c3d4], 0xa40a4958
mov eax, 0x8834a9e0
mov ecx, esp
lea edx, [esp + 0x6a4]
mov dword [ecx], edx
mov dword [ecx + 4], 0x22c
mov dword [esp + 0x18], eax
call fcn.00417500
mov eax, dword [0x48ec80]
mov ecx, eax
inc ecx
mov dword [0x48ec80], ecx
xor eax, 0x2a23744b
mov ecx, dword [0x49986c]
and ecx, eax
mov dword [0x49986c], ecx
mov eax, esp
lea ecx, [esp + 0x240]
mov dword [eax], ecx
mov dword [eax + 4], 0x42c
call fcn.00417500
mov eax, dword [0x4928f0]
sar eax, 0xa
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x425598
mov eax, 0x7dd51dfe
mov cx, word [0x4a6cd0]
movsx edx, cx
cmp eax, edx
jne 0x425593
mov eax, dword [0x49b318]
and eax, 0x3872bf13
mov dword [0x49b318], eax
jmp 0x425598
lea ecx, [esp + 0x66c]
call fcn.0044cf90
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3