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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x10c
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
mov esi, dword [esp + 0x11c]
mov edi, 0x27600830
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0xfc], edx
mov dword [esp + 0xf8], esi
mov bx, word [0x4819d2]
movsx eax, bx
shl eax, 7
sub eax, 0xd6907734
and eax, 0x5798d50f
cmp edi, eax
jle 0x421c59
mov eax, dword [0x4972b8]
or eax, 0x7ffdfb7f
mov dword [0x4972b8], eax
jmp 0x421ca7
mov eax, 0x2479c45a
mov ecx, dword [0x491be8]
dec ecx
mov dword [0x491be8], ecx
or ecx, 0x2395c09
cmp eax, ecx
jne 0x421ca2
mov ax, word [0x482f1a]
movsx ecx, ax
sar ecx, 7
mov edx, dword [0x4924a8]
imul ecx, edx
add ecx, 0xe1ee7cfd
mov edx, dword [0x499154]
xor edx, ecx
mov dword [0x499154], edx
jmp 0x421ca7
mov eax, dword [0x489e44]
shl eax, 0xa
add eax, 0x76c0f4a2
or eax, 0x2f495d1d
mov cx, word [0x4837ca]
movsx edx, cx
xor edx, 0x1f267383
or edx, 0x6ccf4725
cmp eax, edx
jle 0x421cf1
mov eax, dword [0x497ce4]
not eax
and eax, 0x12a0000
mov ecx, dword [0x48afc0]
sub ecx, eax
mov dword [0x48afc0], ecx
xor eax, eax
mov ecx, dword [0x491ef4]
mov edx, dword [0x488948]
sub edx, ecx
mov dword [0x488948], edx
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x84], eax
call fcn.00439a20
cmp eax, 0
jne 0x421d3e
mov dword [esp + 0x108], 0xfffffff4
jmp 0x4237db
mov eax, dword [0x4953a0]
add eax, 0x4ef7bfe8
mov dword [0x4953a0], eax
mov eax, esp
lea ecx, [esp + 0xa8]
mov dword [eax + 0x10], ecx
lea ecx, [esp + 0xb4]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0xc0]
mov dword [eax + 8], ecx
lea ecx, [esp + 0xcc]
mov dword [eax + 4], ecx
lea ecx, [esp + 0xd8]
mov dword [eax], ecx
mov dword [eax + 0x14], 0
call fcn.00421190
mov eax, dword [0x488a0c]
not eax
mov ecx, dword [0x48ff48]
sar ecx, 2
add ecx, 0x88f4ed0
and eax, ecx
mov ecx, dword [0x49445c]
or ecx, eax
mov dword [0x49445c], ecx
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044f090
cmp eax, 0
jge 0x421eb6
mov eax, dword [0x48a070]
and eax, 0x5a7c43f1
mov dword [0x48a070], eax
cmp dword [esp + 0xf8], 0
je 0x421e2c
xor eax, eax
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x80], eax
call fcn.0040a270
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x421e27
jmp 0x423757
jmp 0x421e2c
mov eax, dword [0x493f34]
mov ecx, dword [0x492f3c]
sub ecx, eax
mov dword [0x492f3c], ecx
cmp dword [esp + 0xfc], 0
je 0x421e81
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401e10
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x421e7c
jmp 0x423757
jmp 0x421e81
mov ax, word [0x485346]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x485346], dx
movsx ecx, ax
mov esi, dword [0x491138]
xor esi, ecx
mov dword [0x491138], esi
mov dword [esp + 0x108], 0
jmp 0x4237db
lea eax, [esp + 0xd8]
mov ecx, dword [0x48d640]
mov edx, ecx
inc edx
mov dword [0x48d640], edx
mov si, word [0x47ffde]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x47ffde], si
mov ecx, dword [esp + 0x100]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401e10
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x421f0b
jmp 0x423757
lea eax, [esp + 0xcc]
mov ecx, dword [0x4943e0]
add ecx, 0xc657da3c
mov dword [0x4943e0], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401e10
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x421f4c
jmp 0x423757
lea eax, [esp + 0xc0]
mov ecx, dword [0x48d1bc]
xor ecx, 0x31456b44
mov dword [0x48d1bc], ecx
mov dword [esp + 0xcc], 1
mov dword [esp + 0xd8], 1
mov dword [0x490c84], 0xa273a1ab
mov ecx, dword [esp + 0x100]
mov ecx, dword [ecx + 4]
add ecx, 2
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00445e60
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x421fb3
jmp 0x423757
mov eax, 0x1d7a0f03
mov ecx, dword [0x48e110]
cmp eax, ecx
jge 0x421fe3
mov eax, dword [0x497f74]
mov ecx, dword [0x48a3b0]
imul eax, ecx
xor eax, 0x5046ba29
mov dword [0x49399c], eax
jmp 0x42200f
mov ax, word [0x484476]
movsx ecx, ax
mov edx, dword [0x4960f4]
and ecx, edx
dec edx
mov dword [0x4960f4], edx
and ecx, 0x892023d0
mov edx, dword [0x4898f8]
xor edx, ecx
mov dword [0x4898f8], edx
lea eax, [esp + 0xc0]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x7c], ecx
call fcn.0040a270
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x422041
jmp 0x423757
lea eax, [esp + 0xb4]
mov ecx, 2
mov dx, word [0x485832]
movsx esi, dx
shl esi, 3
mov edi, dword [0x48d944]
or esi, edi
or esi, 0xcdac30f2
mov dword [0x48d944], esi
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 0x78], ecx
call fcn.00445e60
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x422097
jmp 0x423757
mov eax, 0x6fb6c25f
mov cx, word [0x4845f6]
movsx edx, cx
sar edx, 5
imul edx, edx, 0x9dfdc1d7
sub eax, edx
cmp eax, 0x10210000
jle 0x4220cb
mov dword [0x498488], 0xf2359cf7
jmp 0x4220d5
mov dword [0x48f5d4], 0x992c005
lea eax, [esp + 0xa8]
mov ecx, 3
mov dword [esp], eax
mov dword [esp + 4], 3
mov dword [esp + 0x74], ecx
call fcn.00445e60
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x42210a
jmp 0x423757
mov eax, 0xe4ce2ca0
mov ecx, dword [0x48b598]
and ecx, 0xda5a6be5
cmp eax, ecx
jg 0x422196
mov eax, 0xfcfbff77
mov ecx, dword [0x496ca0]
inc ecx
mov dword [0x496ca0], ecx
add ecx, 0x54fb79d4
cmp eax, ecx
jg 0x422166
mov eax, 0x5ec301ef
mov ecx, dword [0x494110]
and ecx, 0x6680db5d
cmp eax, ecx
jge 0x422161
jmp 0x422161
jmp 0x422191
mov ax, word [0x487048]
movsx ecx, ax
xor ecx, 0x52fc20d
xor ecx, 0x4c306276
cmp ecx, 0xc2cff3bf
jg 0x42218c
jmp 0x42218c
jmp 0x422191
jmp 0x4221ba
mov eax, dword [0x48d670]
mov ecx, eax
inc ecx
mov dword [0x48d670], ecx
imul eax, eax, 0x3b3f1a29
mov ecx, dword [0x491900]
sar ecx, 6
and eax, ecx
mov dword [0x48b09c], eax
mov eax, esp
lea ecx, [esp + 0xcc]
mov dword [eax], ecx
call fcn.00435f40
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1b
mov edx, eax
add edx, ecx
and edx, 0xffffffe0
sub eax, edx
mov dword [esp + 0xe4], eax
mov si, word [0x4811b0]
mov ax, si
and eax, 0x2bbb
mov si, ax
mov word [0x4811b0], si
cmp dword [esp + 0xe4], 0x1f
jge 0x4222e4
lea eax, [esp + 0xd8]
mov cx, word [0x47fdb2]
mov dx, cx
and edx, 0x591e
mov cx, dx
mov word [0x47fdb2], cx
mov edx, dword [esp + 0xe4]
mov esi, 0x1f
sub esi, edx
mov dword [esp + 0xe4], esi
mov edx, dword [0x4977a0]
add edx, 0xbad719ab
mov esi, dword [0x4943f8]
xor esi, edx
mov dword [0x4943f8], esi
mov edx, dword [esp + 0xe4]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0043ab80
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x422281
jmp 0x423757
mov eax, 0xa86af4c3
mov ecx, dword [0x48c350]
xor ecx, 0xffffffff
cmp eax, ecx
jge 0x4222a6
mov eax, dword [0x48fae4]
or eax, 0xc029a409
mov dword [0x48fae4], eax
lea eax, [esp + 0xcc]
mov ecx, dword [esp + 0xe4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ab80
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x4222d5
jmp 0x423757
mov dword [0x494b60], 0xa0662a96
jmp 0x4222ef
mov dword [esp + 0xe4], 0
mov eax, dword [0x498e00]
add eax, 0x8d90044d
or eax, 0xaa18a550
mov ecx, dword [0x49923c]
xor ecx, eax
mov dword [0x49923c], ecx
mov eax, dword [esp + 0xdc]
dec eax
mov dword [esp + 0xec], eax
mov eax, dword [0x48dbd4]
shr eax, 4
mov ecx, dword [0x48af80]
and eax, ecx
mov dx, word [0x485652]
mov cx, dx
xor ecx, eax
mov dx, cx
mov word [0x485652], dx
mov eax, dword [esp + 0xd0]
dec eax
mov dword [esp + 0xe8], eax
mov eax, dword [0x491264]
mov ecx, eax
dec ecx
mov dword [0x491264], ecx
mov dx, word [0x482074]
movsx ecx, dx
imul eax, ecx
imul eax, eax, 0x76045c5
mov dword [0x4902c4], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xe8]
sub eax, ecx
shl eax, 5
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0xcc]
mov dword [ecx], eax
call fcn.0043ab80
mov dx, word [0x484058]
movsx ecx, dx
mov esi, dword [0x4910fc]
sub ecx, esi
mov dx, word [0x483acc]
mov si, dx
dec esi
mov di, si
mov word [0x483acc], di
movsx esi, dx
and esi, 0xc7a413ae
and esi, 0xf928bbf8
cmp ecx, esi
mov dword [esp + 0x70], eax
je 0x422422
mov eax, dword [0x49613c]
shl eax, 9
or eax, 0x75e0fbc4
mov ecx, dword [0x497e48]
mov edx, ecx
dec edx
mov dword [0x497e48], edx
add ecx, 0xf55f21a3
mov edx, dword [0x498fb0]
sar edx, 0xa
or ecx, edx
cmp eax, ecx
jl 0x42241d
mov dword [0x48c4c8], 0xfaffb4ff
jmp 0x422422
jmp 0x422427
lea eax, [esp + 0xd8]
lea ecx, [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00433b90
cmp eax, 0
jl 0x4224ec
mov eax, 0x20040004
mov ecx, dword [0x48f19c]
and ecx, 0xeef40d94
mov dword [0x488654], ecx
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
sub ecx, edx
mov edx, dword [esp + 0xc8]
mov esi, dword [edx + ecx*4]
inc esi
mov dword [edx + ecx*4], esi
mov ecx, dword [0x496274]
add ecx, 0x897f02f0
mov dword [0x496274], ecx
mov ecx, esp
lea edx, [esp + 0xcc]
mov dword [ecx + 8], edx
lea edx, [esp + 0xd8]
mov dword [ecx + 4], edx
mov dword [ecx], edx
mov dword [esp + 0x6c], eax
call fcn.00416270
mov ecx, dword [0x48c3f4]
xor ecx, 0xffffffff
mov edx, dword [esp + 0x6c]
cmp edx, ecx
mov dword [esp + 0x68], eax
jg 0x4224e7
mov eax, dword [0x48ad6c]
mov ecx, eax
inc ecx
mov dword [0x48ad6c], ecx
mov ecx, dword [0x48f168]
add ecx, eax
mov dword [0x48f168], ecx
jmp 0x422427
mov eax, 0xfaec4258
mov cx, word [0x48075e]
movsx edx, cx
sar edx, 5
and edx, 0x92141002
or edx, 0x688a8af5
mov esi, dword [0x488540]
and esi, edx
mov dword [0x488540], esi
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xe8]
sub edx, esi
shl edx, 5
mov esi, esp
mov dword [esi + 4], edx
lea edx, [esp + 0xcc]
mov dword [esi], edx
mov dword [esp + 0x64], eax
call fcn.00432f60
mov cx, word [0x481150]
movsx edx, cx
mov esi, dword [esp + 0x64]
sub esi, edx
or esi, 0x110c0a
cmp esi, 0xde5d1352
mov dword [esp + 0x60], eax
jg 0x4225a6
mov eax, 0x1fcbc3c2
mov cx, word [0x47f912]
movsx edx, cx
xor edx, 0x6f857dcf
cmp eax, edx
je 0x4225a1
mov eax, dword [0x494eb0]
mov ecx, eax
inc ecx
mov dword [0x494eb0], ecx
mov ecx, dword [0x495940]
xor ecx, eax
mov dword [0x495940], ecx
jmp 0x4225d9
mov eax, dword [0x48e304]
or eax, 0x27ac56f5
mov ecx, dword [0x4940d0]
xor ecx, 0x71ca14b1
cmp eax, ecx
je 0x4225d4
mov eax, dword [0x48e410]
imul eax, eax, 0x9fa884d1
mov dword [0x48e410], eax
jmp 0x4225d9
mov eax, dword [esp + 0xec]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xf0]
cmp eax, dword [esp + 0xe8]
jle 0x42358e
mov eax, dword [0x48bae8]
cmp eax, 0xfd7b91c4
jle 0x422639
mov ax, word [0x4862d6]
movsx ecx, ax
not ecx
mov edx, dword [0x48af3c]
dec edx
mov dword [0x48af3c], edx
sub ecx, edx
and ecx, 0xd98c7797
mov edx, dword [0x48b7bc]
add edx, ecx
mov dword [0x48b7bc], edx
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xd4]
cmp eax, dword [edx + ecx*4]
jb 0x422685
mov eax, dword [esp + 0xf0]
sub eax, dword [esp + 0xe8]
sub eax, 1
mov ecx, dword [esp + 0xc8]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x422ea1
mov eax, 0x9e551cee
mov ecx, dword [0x4952cc]
or ecx, 0x152404b5
cmp eax, ecx
je 0x4226d9
mov eax, 0x156ae33d
mov ecx, dword [0x491634]
add ecx, 0xe1f41913
or ecx, 0xb241525b
cmp eax, ecx
je 0x4226d4
mov ax, word [0x481e4e]
movsx ecx, ax
mov edx, dword [0x496148]
add edx, ecx
mov dword [0x496148], edx
jmp 0x422747
mov eax, dword [0x494f20]
sar eax, 5
sub eax, 0x6e973ad
cmp eax, 0x77bf2d3b
jle 0x42272a
mov eax, 0x9fab71e
mov ecx, dword [0x488314]
shl ecx, 0xa
mov dx, word [0x4810c2]
movsx esi, dx
xor esi, 0xffffffff
sub eax, esi
and eax, 0x8454e52c
cmp ecx, eax
jl 0x422720
jmp 0x422725
jmp 0x422725
jmp 0x422742
mov ax, word [0x485f48]
mov cx, ax
add ecx, 0x1101200a
mov ax, cx
mov word [0x485f48], ax
jmp 0x422747
mov eax, 0x4b4a1757
mov ecx, dword [0x491598]
mov edx, ecx
inc edx
mov dword [0x491598], edx
xor ecx, 0xa669ebd7
or ecx, 0xce8477b2
cmp eax, ecx
jg 0x422788
mov eax, dword [0x495bc8]
imul eax, eax, 0xe4aed85e
mov ecx, dword [0x4912d4]
and ecx, eax
mov dword [0x4912d4], ecx
mov eax, 0x811b0d85
mov ecx, dword [0x48e9c4]
mov edx, ecx
inc edx
mov dword [0x48e9c4], edx
imul ecx, ecx, 0x694c1cca
mov edx, dword [0x48fd14]
xor edx, ecx
mov dword [0x48fd14], edx
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xd4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x8c], ecx
mov si, word [0x483894]
movsx ecx, si
not ecx
imul ecx, ecx, 0x9226ab82
add ecx, 0x1d80a6ae
mov edx, dword [0x48a55c]
xor edx, ecx
mov dword [0x48a55c], edx
movzx ecx, word [esp + 0x8c]
mov dword [esp + 0x94], ecx
mov ecx, dword [0x49486c]
sar ecx, 2
cmp eax, ecx
jne 0x422863
mov eax, 0x228a4bf7
mov ecx, dword [0x488234]
mov edx, dword [0x493748]
sub eax, edx
or ecx, eax
cmp ecx, 0x8401049
je 0x42285e
mov eax, 0x20a78a6f
mov ecx, dword [0x48dc0c]
mov edx, dword [0x491838]
not edx
and ecx, edx
mov edx, dword [0x493390]
and ecx, edx
cmp eax, ecx
je 0x422859
jmp 0x422859
jmp 0x42285e
jmp 0x42286d
mov dword [0x494960], 0xf3edefff
mov eax, 0x49ee020d
movzx ecx, word [esp + 0x8e]
mov dword [esp + 0x90], ecx
mov dx, word [0x485414]
mov cx, dx
dec ecx
mov dx, cx
mov word [0x485414], dx
movsx ecx, dx
and ecx, 0x3fb26ac1
mov dx, word [0x4822ee]
movsx esi, dx
shl esi, 5
xor ecx, esi
cmp eax, ecx
jne 0x4228d6
mov eax, dword [0x498b88]
xor eax, 0x757e
mov cx, word [0x484e88]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x484e88], cx
mov eax, 0xf0a76abd
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xe0]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x90]
xor esi, esi
mov dword [esp + 0x5c], eax
mov eax, ecx
mov dword [esp + 0x58], edx
mov edx, esi
mov ecx, dword [esp + 0x58]
div ecx
mov dword [esp + 0xa0], eax
mov eax, dword [0x4985a4]
mov ecx, eax
dec ecx
mov dword [0x4985a4], ecx
mov ecx, dword [esp + 0x5c]
sub ecx, eax
xor ecx, 0x5c9a779f
cmp ecx, 0xaeae1d9a
jg 0x42294c
mov ax, word [0x4800b6]
mov cx, ax
xor ecx, 0xffb3
mov ax, cx
mov word [0x4800b6], ax
mov eax, 0x9f2f0955
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xe0]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0xa0]
imul edx, esi
sub ecx, edx
mov dword [esp + 0x98], ecx
mov ecx, dword [0x48f1b4]
sar ecx, 3
cmp eax, ecx
jne 0x4229aa
mov ax, word [0x487f22]
mov cx, ax
imul ecx, ecx, 0xb1fe2168
mov ax, cx
mov word [0x487f22], ax
jmp 0x4229d3
mov eax, 0xffffaef5
mov ecx, dword [0x4946d4]
dec ecx
mov dword [0x4946d4], ecx
cmp eax, ecx
jge 0x4229ce
mov dword [0x48f560], 0x1269ee09
jmp 0x4229d3
mov eax, dword [esp + 0x98]
shl eax, 0x10
mov dword [esp + 0x98], eax
mov eax, dword [0x490858]
xor eax, 0xa72bc61e
mov dword [0x490858], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xe0]
movzx eax, word [ecx + eax*4 - 2]
mov ecx, dword [esp + 0x98]
or ecx, eax
mov dword [esp + 0x98], ecx
mov eax, dword [0x497fec]
mov ecx, eax
inc ecx
mov dword [0x497fec], ecx
add eax, 0xc467057f
mov ecx, dword [0x49604c]
sub ecx, eax
mov dword [0x49604c], ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x94]
imul eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x48b694]
mov ecx, eax
inc ecx
mov dword [0x48b694], ecx
mov ecx, dword [0x494004]
mov edx, ecx
inc edx
mov dword [0x494004], edx
imul eax, ecx
mov ecx, dword [0x48d708]
imul ecx, eax
mov dword [0x48d708], ecx
mov eax, dword [esp + 0x98]
cmp eax, dword [esp + 0x88]
jae 0x422b6e
mov eax, dword [0x494090]
add eax, 0x3433f6a2
mov dword [0x494090], eax
mov eax, dword [esp + 0xa0]
dec eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
add ecx, eax
mov dword [esp + 0x98], ecx
mov eax, dword [0x48a890]
inc eax
mov dword [0x48a890], eax
mov dx, word [0x484e6a]
movsx ecx, dx
xor ecx, 0x4c16ddca
or eax, ecx
mov ecx, dword [0x493b04]
add ecx, eax
mov dword [0x493b04], ecx
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x98]
cmp eax, dword [esp + 0x8c]
mov byte [esp + 0x57], cl
jb 0x422b23
mov eax, dword [esp + 0x98]
cmp eax, dword [esp + 0x88]
setb cl
mov byte [esp + 0x57], cl
mov al, byte [esp + 0x57]
test al, 1
jne 0x422b34
jmp 0x422b5f
mov eax, dword [esp + 0xa0]
add eax, 0xffffffff
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x8c]
add eax, dword [esp + 0x98]
mov dword [esp + 0x98], eax
jmp 0x422af2
mov eax, dword [0x492324]
and eax, 0x5b3afb15
mov dword [0x492324], eax
mov eax, 0xc6b5d60e
mov cx, word [0x4818fe]
movsx edx, cx
shl edx, 7
imul edx, edx, 0xa18ab068
xor edx, 0xeef6092a
cmp eax, edx
jl 0x422bb1
mov ax, word [0x483b7a]
mov cx, ax
add ecx, 0x6efda000
mov ax, cx
mov word [0x483b7a], ax
jmp 0x422bbb
mov dword [0x48b89c], 0xbd11f69b
mov eax, 0x8b088a5e
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x98]
sub edx, ecx
mov dword [esp + 0x98], edx
mov ecx, dword [0x493958]
xor ecx, 0xb645f396
mov dword [0x493958], ecx
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x90]
xor esi, esi
mov dword [esp + 0x50], eax
mov eax, ecx
mov dword [esp + 0x4c], edx
mov edx, esi
mov ecx, dword [esp + 0x4c]
div ecx
mov dword [esp + 0xa4], eax
mov di, word [0x48490a]
mov ax, di
add eax, 0xd6b88b79
mov di, ax
mov word [0x48490a], di
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xa4]
imul ecx, edx
sub eax, ecx
mov dword [esp + 0x9c], eax
mov di, word [0x4865f0]
movsx eax, di
mov dword [0x48a858], eax
mov eax, dword [esp + 0x9c]
shl eax, 0x10
mov dword [esp + 0x9c], eax
mov di, word [0x483a96]
mov ax, di
add eax, 0xa0090806
mov di, ax
mov word [0x483a96], di
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xe0]
movzx eax, word [ecx + eax*4 - 4]
mov ecx, dword [esp + 0x9c]
or ecx, eax
mov dword [esp + 0x9c], ecx
mov eax, dword [0x490380]
xor eax, 0xffffffff
and eax, 0xf41cd25c
mov ecx, dword [esp + 0x50]
cmp ecx, eax
je 0x422cd0
mov eax, dword [0x494b04]
add eax, 0x3c0ae6f2
mov dword [0x494b04], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x94]
imul eax, ecx
mov dword [esp + 0x88], eax
mov eax, dword [0x48e1d8]
or eax, 0xe2193676
mov dword [0x48e1d8], eax
mov eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0x88]
jae 0x422ded
mov dword [0x48fa48], 0x5311f7c3
mov eax, dword [esp + 0xa4]
dec eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x9c]
add ecx, eax
mov dword [esp + 0x9c], ecx
mov eax, dword [0x48bdc0]
mov ecx, eax
inc ecx
mov dword [0x48bdc0], ecx
and eax, 0x519adb52
mov ecx, dword [0x494034]
imul ecx, eax
mov dword [0x494034], ecx
xor eax, eax
mov cl, al
mov eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0x8c]
mov byte [esp + 0x4b], cl
jb 0x422d8e
mov eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0x88]
setb cl
mov byte [esp + 0x4b], cl
mov al, byte [esp + 0x4b]
test al, 1
jne 0x422d9f
jmp 0x422dca
mov eax, dword [esp + 0xa4]
add eax, 0xffffffff
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x8c]
add eax, dword [esp + 0x9c]
mov dword [esp + 0x9c], eax
jmp 0x422d5d
mov eax, dword [0x48bd68]
mov ecx, dword [0x491260]
imul ecx, eax
shl ecx, 0xf
or ecx, 0xd105dce0
mov eax, dword [0x4889d4]
xor eax, ecx
mov dword [0x4889d4], eax
mov eax, 0xadfbf5f3
mov cx, word [0x4824ba]
mov dx, cx
not edx
mov cx, word [0x484e28]
mov si, cx
and esi, edx
mov cx, si
mov word [0x484e28], cx
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x9c]
sub esi, edx
mov dword [esp + 0x9c], esi
mov edx, dword [0x489f98]
not edx
imul edx, edx, 0x597061b9
and edx, 0x4469966a
mov esi, dword [0x48a030]
or esi, edx
mov dword [0x48a030], esi
mov edx, dword [esp + 0xa0]
shl edx, 0x10
mov esi, dword [esp + 0xa4]
or edx, esi
mov esi, dword [esp + 0xf0]
mov edi, dword [esp + 0xe8]
sub esi, edi
mov edi, dword [esp + 0xc8]
mov dword [edi + esi*4 - 4], edx
mov cx, word [0x487dca]
movsx edx, cx
cmp eax, edx
jne 0x422e9c
mov eax, dword [0x497c1c]
and eax, 0x6e9cf37e
mov dword [0x497c1c], eax
jmp 0x422ea1
mov eax, dword [0x489408]
add eax, 0x45365bee
mov dword [0x489408], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xe8]
sub eax, ecx
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + eax*4 - 4]
inc edx
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [0x4905e8]
mov ecx, dword [0x4933e0]
or ecx, eax
mov dword [0x4933e0], ecx
mov ax, word [0x4843d0]
mov cx, ax
or ecx, 0xd53c
mov ax, cx
mov word [0x4843d0], ax
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xe8]
sub ecx, edx
mov edx, dword [esp + 0xc8]
mov esi, dword [edx + ecx*4 - 4]
dec esi
mov dword [edx + ecx*4 - 4], esi
mov ecx, dword [0x4902c4]
mov edx, dword [0x48c5c8]
imul edx, edx, 0xc5333635
cmp ecx, edx
jge 0x422f44
mov eax, dword [0x492298]
add eax, 0xdb3456b2
mov dword [0x492298], eax
lea eax, [esp + 0xb4]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x44], ecx
call fcn.0040a270
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x422f76
jmp 0x423757
mov eax, dword [0x48f968]
mov cx, word [0x484972]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x484972], cx
cmp dword [esp + 0xe8], 1
jge 0x422faa
xor eax, eax
mov dword [esp + 0x40], eax
jmp 0x422fc2
mov eax, dword [esp + 0xe8]
sub eax, 1
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov ecx, 0xf876191c
mov edx, dword [esp + 0xbc]
mov dword [edx], eax
mov si, word [0x47f85c]
movsx eax, si
sar eax, 6
xor eax, 0xe357b297
mov edx, dword [0x48d430]
add edx, eax
mov dword [0x48d430], edx
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xd4]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xbc]
mov dword [edx + 4], eax
mov eax, dword [0x48d1ec]
cmp ecx, eax
jge 0x42304f
mov eax, dword [0x48eac0]
inc eax
mov dword [0x48eac0], eax
mov ecx, dword [0x493b98]
mov edx, ecx
inc edx
mov dword [0x493b98], edx
sub eax, ecx
mov ecx, dword [0x48e900]
and eax, ecx
and eax, 0xad4c051b
mov dword [0x48e900], eax
jmp 0x42308a
mov eax, dword [0x48d40c]
imul eax, eax, 0x3fd5b94c
mov ecx, dword [0x48d128]
and eax, ecx
cmp eax, 0xef80f4aa
jl 0x423085
mov ax, word [0x48604e]
mov cx, ax
add ecx, 0x8d00a002
mov ax, cx
mov word [0x48604e], ax
jmp 0x42308a
lea eax, [esp + 0xb4]
mov ecx, dword [esp + 0xf0]
sub ecx, dword [esp + 0xe8]
sub ecx, 1
mov edx, dword [esp + 0xc8]
mov ecx, dword [edx + ecx*4]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0041a9c0
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x4230d1
jmp 0x423757
lea eax, [esp + 0xa8]
xor ecx, ecx
mov edx, dword [0x48d12c]
or edx, 0x3260a6e7
mov dword [0x48d12c], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x3c], ecx
call fcn.0040a270
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x423115
jmp 0x423757
mov dword [0x48c8a0], 0x9feb95fd
cmp dword [esp + 0xf0], 2
jge 0x423138
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x423150
mov eax, dword [esp + 0xf0]
sub eax, 2
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xb0]
mov dword [ecx], eax
mov eax, dword [0x492078]
and eax, 0x89fe639
mov dword [0x492078], eax
cmp dword [esp + 0xf0], 1
jge 0x423185
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x42319d
mov eax, dword [esp + 0xf0]
sub eax, 1
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, 0x131de909
mov edx, dword [esp + 0xb0]
mov dword [edx + 4], eax
mov eax, dword [0x48f988]
or eax, 0x3ab0bc65
mov dword [0x48f988], eax
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xe0]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xb0]
mov dword [edx + 8], eax
mov si, word [0x484110]
movsx eax, si
xor eax, 0xffffffff
cmp ecx, eax
jle 0x4231fe
mov eax, dword [0x4963b4]
add eax, 0x50c28084
mov dword [0x4963b4], eax
jmp 0x423203
lea eax, [esp + 0xb4]
lea ecx, [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00433b90
cmp eax, 0
jg 0x422ee3
mov eax, 0xbceee7e6
mov ecx, dword [0x497154]
mov edx, ecx
dec edx
mov dword [0x497154], edx
or ecx, 0x15faefaa
or ecx, 0x8b85c1c8
cmp eax, ecx
jge 0x4232ba
mov ax, word [0x480832]
movsx ecx, ax
cmp ecx, 0x6f1fff3a
jle 0x423277
mov eax, dword [0x495788]
xor eax, 0x3ebc2a9e
mov dword [0x495788], eax
jmp 0x4232b5
mov ax, word [0x4840d6]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4840d6], dx
movsx ecx, ax
mov ax, word [0x481436]
movsx esi, ax
sub esi, 0x4ad21004
xor esi, 0x7456db06
cmp ecx, esi
jle 0x4232b0
jmp 0x4232b0
jmp 0x4232b5
jmp 0x4232d2
mov ax, word [0x4865c6]
mov cx, ax
or ecx, 0xf65b
mov ax, cx
mov word [0x4865c6], ax
lea eax, [esp + 0xb4]
lea ecx, [esp + 0xcc]
mov edx, dword [esp + 0xf0]
sub edx, dword [esp + 0xe8]
sub edx, 1
mov esi, dword [esp + 0xc8]
mov edx, dword [esi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0041a9c0
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x423320
jmp 0x423757
mov eax, dword [0x4904fc]
inc eax
mov dword [0x4904fc], eax
cmp eax, 0x41301900
jl 0x423345
mov eax, dword [0x48f348]
or eax, 0x213000
mov dword [0x48f348], eax
lea eax, [esp + 0xb4]
mov ecx, dword [esp + 0xf0]
sub ecx, dword [esp + 0xe8]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ab80
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x423381
jmp 0x423757
mov eax, 0x344a084
mov ecx, dword [0x48ab6c]
xor ecx, 0x9060e757
cmp eax, ecx
jne 0x4233a4
mov dword [0x48b0e4], 0xd12d991c
lea eax, [esp + 0xd8]
lea ecx, [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00416270
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x4233d7
jmp 0x423757
lea eax, [esp + 0xd8]
xor ecx, ecx
mov edx, dword [0x48a3f8]
imul edx, edx, 0xc2df3365
mov dword [0x48a3f8], edx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 0x30], ecx
call fcn.00439a20
cmp eax, 0
jge 0x423554
lea eax, [esp + 0xb4]
lea ecx, [esp + 0xcc]
mov edx, dword [0x48a2e8]
imul edx, edx, 0x4192930c
add edx, 0x6edf075c
mov esi, dword [0x48a808]
xor esi, edx
mov dword [0x48a808], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00401e10
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x42345e
jmp 0x423757
lea eax, [esp + 0xb4]
mov ecx, dword [0x4891f4]
add ecx, 0x22ad6474
mov dword [0x4891f4], ecx
mov ecx, dword [esp + 0xf0]
sub ecx, dword [esp + 0xe8]
sub ecx, 1
shl ecx, 5
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0043ab80
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x4234ac
jmp 0x423757
lea eax, [esp + 0xd8]
lea ecx, [esp + 0xb4]
mov edx, dword [0x494fdc]
xor edx, 0x858a2377
mov dword [0x494fdc], edx
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0043fe50
mov dword [esp + 0xf4], eax
cmp eax, 0
je 0x4234f1
jmp 0x423757
mov eax, dword [0x48c068]
mov ecx, eax
inc ecx
mov dword [0x48c068], ecx
mov ecx, dword [0x494ac0]
lea eax, [ecx + eax + 1]
mov dword [0x494ac0], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xe8]
sub eax, ecx
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + eax*4 - 4]
dec edx
mov dword [ecx + eax*4 - 4], edx
mov eax, dword [0x48cfe4]
mov ecx, eax
inc ecx
mov dword [0x48cfe4], ecx
add eax, 0x59d6eb6e
xor eax, 0x4870a196
mov ecx, dword [0x48d5a0]
and ecx, eax
mov dword [0x48d5a0], ecx
mov eax, dword [0x48896c]
shl eax, 6
add eax, 0x501567e9
mov cx, word [0x486206]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x486206], cx
mov eax, dword [esp + 0xf0]
add eax, 0xffffffff
mov dword [esp + 0xf0], eax
jmp 0x4225e7
mov eax, dword [0x492f88]
xor eax, 0x7bb70e04
mov dword [0x492f88], eax
cmp dword [esp + 0xf8], 0
je 0x42361c
mov eax, dword [0x490f30]
or eax, 0xffecfeed
mov dword [0x490f30], eax
mov eax, dword [esp + 0xf8]
mov ecx, esp
lea edx, [esp + 0xc0]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.00401e10
mov ecx, dword [0x497698]
xor ecx, 0x5736acd7
mov dword [0x497698], ecx
mov ecx, dword [esp + 0x100]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x104]
mov edx, dword [edx]
imul ecx, edx
mov edx, dword [esp + 0xf8]
mov dword [edx], ecx
mov ecx, dword [0x48c9d8]
not ecx
add ecx, 0xaa1179c4
mov dword [0x496094], ecx
mov dword [esp + 0x2c], eax
mov eax, 0xa22109
mov ecx, dword [0x494ac0]
add ecx, 0x8cdd2d3e
sub ecx, 0xb3772994
cmp eax, ecx
jne 0x423645
mov dword [0x4982e4], 0xebbbbf1b
cmp dword [esp + 0xfc], 0
je 0x42374d
xor eax, eax
mov ecx, dword [0x498ba8]
mov edx, ecx
dec edx
mov dword [0x498ba8], edx
add ecx, 0xb4b0cb3e
mov edx, dword [0x492ea8]
xor edx, ecx
mov dword [0x492ea8], edx
mov ecx, dword [esp + 0xe4]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0xd8]
mov dword [edx], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
call fcn.00432f60
mov ecx, dword [0x49160c]
sar ecx, 4
mov edx, dword [0x498590]
shl edx, 8
add edx, 0xc4b6760a
xor ecx, edx
mov edx, dword [0x49887c]
add edx, ecx
mov dword [0x49887c], edx
mov ecx, dword [esp + 0xfc]
mov edx, esp
mov esi, dword [esp + 0x24]
mov dword [edx + 4], esi
mov dword [edx], ecx
mov dword [esp + 0x20], eax
call fcn.00401e10
mov dword [0x488bc8], 0x56221600
mov ecx, dword [esp + 0x100]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xfc]
mov dword [edx], ecx
mov di, word [0x483a96]
movsx ecx, di
mov edx, dword [0x490998]
imul edx, ecx
mov dword [0x490998], edx
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 0x1c], eax
call fcn.00439a20
cmp eax, 0
jne 0x423743
mov eax, dword [esp + 0xfc]
mov dword [eax], 1
mov dword [0x48e09c], 0x24dcc362
mov dword [0x489500], 0xf7d791eb
mov eax, 0x2142ac12
mov ecx, esp
lea edx, [esp + 0xa8]
mov dword [ecx + 0x10], edx
lea edx, [esp + 0xb4]
mov dword [ecx + 0xc], edx
lea edx, [esp + 0xc0]
mov dword [ecx + 8], edx
lea edx, [esp + 0xcc]
mov dword [ecx + 4], edx
lea edx, [esp + 0xd8]
mov dword [ecx], edx
mov dword [ecx + 0x14], 0
mov dword [esp + 0x18], eax
call fcn.00441b30
mov eax, dword [0x49820c]
mov ecx, eax
inc ecx
mov dword [0x49820c], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x4237cd
mov eax, dword [0x48c118]
mov ecx, dword [0x48c3b4]
imul ecx, eax
mov dword [0x48c3b4], ecx
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x108]
add esp, 0x10c
pop esi
pop edi
pop ebx
ret