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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xf0]
cmp eax, dword [ecx + 8]
jbe 0x689537
sub esp, 0x170
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov ecx, dword [esp + 0x17c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x180]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.006865d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
test ecx, ecx
jne 0x6892ad
test ebp, ebp
je 0x68773d
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0x130], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb4], ecx
lea edx, [0x80b760]
mov dword [esp], edx
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x840162]
mov dword [eax], ecx
mov ecx, dword [esp + 0xb4]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x687725
mov ecx, dword [esp + 0x130]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x4c]
test edx, edx
je 0x6876e2
mov dword [esp], ecx
call fcn.00685fd0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
mov dword [esp], ecx
lea edx, [0x98a470]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68771b
mov dword [edx + 0x50], eax
mov ecx, edx
jmp 0x6876bd
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x687717
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x130]
call fcn.00459d90
mov eax, ecx
jmp 0x6876a3
mov dword [esp + 0x12c], edx
mov dword [esp + 0x128], ebx
mov dword [esp + 0xb0], esi
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xdc], ecx
nop
mov edx, dword [esp + 0xb0]
mov ebx, edx
and edx, 0x1f
mov dword [esp + 0xac], edx
cmp edx, 0x14
je 0x689264
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x689182
cmp edx, 0x15
je 0x688f68
cmp edx, 0x19
jne 0x688e8e
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00693550
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x104], edx
mov ebx, dword [esp + 0x174]
test byte [ebx], al
lea esi, [ebx + 0x38]
lea edi, [esp + 0x15c]
call fcn.0045a51e
xor ecx, ecx
xor ebp, ebp
xor esi, esi
jmp 0x68780e
mov ebx, edx
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x40], ecx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xcc], esi
mov dword [esp], ebx
mov dword [esp + 4], 9
call fcn.006860f0
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x687b1a
cmp ecx, 1
jne 0x6894b5
nop
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa8], ecx
mov dword [esp], eax
call fcn.006861b0
mov eax, dword [esp + 0x174]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
dec ebx
cmp ebx, edx
ja 0x6894ae
mov ebp, dword [esp + 0xa8]
lea esi, [ebp - 1]
cmp esi, ebx
ja 0x6894a5
mov dword [esp], eax
sub edx, esi
mov dword [esp + 0x70], edx
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, esi
add ecx, edx
mov dword [esp + 0x100], ecx
mov dword [esp + 4], ecx
sub ebx, esi
mov dword [esp + 0x6c], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.0068c600
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test al, al
je 0x68948d
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0xfc], ebx
mov eax, dword [esp + 0xac]
cmp eax, 0x15
jne 0x6887b7
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x40]
test edx, edx
je 0x68877e
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00490de0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xcc]
mov dword [esp], ebx
mov ebp, dword [esp + 0xd4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0048ee60
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xcc]
xor ebx, ebx
mov ebp, eax
mov esi, ecx
mov edi, edx
mov dword [esp + 0x54], ebp
mov dword [esp + 0xe8], esi
mov dword [esp + 0xe4], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0xf8], ecx
mov byte [esp + 0x2e], bl
mov dword [esp + 0xf4], edx
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x10], 9
je 0x68873d
cmp dword [eax + 0x10], 3
jne 0x68941f
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.006860f0
movzx eax, byte [esp + 0x2e]
test al, al
je 0x6886d9
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call fcn.00686510
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x688652
cmp dword [ecx + 8], 0xe0ff5cb4
jne 0x687a1b
lea edx, [0x7cfd20]
cmp edx, ecx
jne 0x688643
mov ecx, dword [eax + 4]
mov eax, dword [eax]
je 0x6885ae
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 8], edx
call fcn.00490380
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x687a4c
mov ecx, dword [ecx + 4]
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
lea eax, [0x85ac97]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x154]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x688559
mov ebx, dword [esp + 0xac]
cmp ebx, 0x15
je 0x687b64
cmp dword [edx + 0x10], 9
je 0x687b41
mov ebp, dword [edx + 0x48]
mov ecx, dword [esp + 0x168]
cmp ecx, ebp
ja 0x68935c
mov dword [edx + 0x44], ecx
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov dword [edx + 0x38], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x687b37
mov dword [edx + 0x3c], eax
mov eax, dword [edx + 0x10]
cmp eax, 5
je 0x687b1a
cmp eax, 4
je 0x6877fa
jmp 0x689344
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
lea edi, [edx + 0x3c]
call fcn.00459d90
jmp 0x687b04
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.006860f0
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0xac]
jmp 0x687ad1
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
lea edx, [0x993400]
cmp edx, ecx
jne 0x689403
mov dword [esp + 0xe0], eax
mov dword [esp + 0x50], ecx
mov dword [esp], eax
call fcn.00486420
lea eax, [0x993400]
test byte [eax], al
mov ecx, dword [esp + 4]
mov dword [esp], ecx
mov ecx, dword [0xc70a40]
mov edx, dword [0xc70a44]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00486750
movzx eax, byte [esp + 0xc]
test al, al
jne 0x68848f
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call ecx
cmp dword [esp + 4], 0x18
jne 0x687d37
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
call fcn.00408570
mov eax, dword [esp + 0xc]
nop
movzx ecx, byte [0xc714a0]
test cl, cl
je 0x687d2c
lea ecx, [0x7b5100]
mov dword [0xc714a4], ecx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x687d1c
mov dword [0xc714a8], eax
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], eax
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x687d11
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x687c7a
or ebx, 0x80
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10], eax
call fcn.00491250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test ecx, ecx
jne 0x687cc0
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0xac]
jmp 0x687acb
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebp, dword [esp + 0x12c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xb0]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20], eax
call fcn.0048f700
jmp 0x687cad
xor ebx, ebx
xor eax, eax
xor edx, edx
jmp 0x687c7a
lea edi, [0xc714a8]
call fcn.00459d90
jmp 0x687c46
lea ecx, [0x7b5100]
jmp 0x687c46
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x6880d7
add eax, 0xfffffff9
cmp eax, 5
ja 0x6893eb
mov dword [esp], 0
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
call fcn.004470b0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004777c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x687fc7
mov eax, 1
test al, al
je 0x687f00
lea eax, [0x80b760]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [esp + 0x124], eax
mov dword [esp], 0
lea ecx, [0x8405ad]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0xf0]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], edx
call fcn.00446f30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x124]
mov dword [edi + 4], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x687ef4
mov dword [edi], ecx
mov ebx, dword [esp + 0x50]
mov dword [edi + 8], ebx
mov ebx, dword [0xc83da0]
test ebx, ebx
jne 0x687ed8
mov ebx, dword [esp + 0xe0]
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0xa8]
mov dword [edi + 0x10], ebx
sar ebx, 0x1f
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x174]
mov ebp, dword [ebx + 0x4c]
test ebp, ebp
je 0x687e95
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebp, eax
mov eax, edx
mov edx, ecx
mov ecx, ebp
jmp 0x687ca9
mov dword [esp], ebx
lea eax, [0x98a470]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x687ece
mov dword [edx + 0x50], eax
mov ebx, edx
jmp 0x687e82
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x687eca
lea ebx, [edi + 0xc]
mov eax, edi
mov edi, ebx
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.00459d90
mov edi, ecx
jmp 0x687e64
mov eax, ecx
call fcn.00459d90
jmp 0x687e49
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00408480
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0xc714a0]
test cl, cl
je 0x687fbc
lea ecx, [0x7cff60]
mov dword [0xc714a4], ecx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x687faf
mov dword [0xc714a8], eax
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], eax
mov edx, dword [esp + 0x13c]
test edx, edx
je 0x687fa7
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x687f6c
or ebx, 0x80
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10], eax
call fcn.00491250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x174]
jmp 0x687e88
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x687f6c
lea edi, [0xc714a8]
call fcn.00459d90
jmp 0x687f3c
lea ecx, [0x7cff60]
jmp 0x687f3c
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
call fcn.00490de0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
nop
and eax, 0x1f
lea edx, [eax - 7]
cmp edx, 5
ja 0x689363
mov ebx, dword [ecx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
mov dword [esp + 0xb4], ebx
lea ecx, [ebx - 0x20]
mov ebp, ecx
neg ecx
mov dword [esp + 0xa4], ecx
cmp ecx, 0x20
sbb esi, esi
cmp ebx, 0x20
sbb edi, edi
mov dword [esp + 0xa0], edi
cmp ebp, 0x20
mov eax, esi
sbb esi, esi
mov edx, esi
mov esi, dword [esp + 0x30]
shr esi, cl
mov dword [esp + 0x9c], esi
mov ecx, ebx
mov esi, dword [esp + 0x3c]
shl esi, cl
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x30]
shl esi, cl
and esi, edi
mov dword [esp + 0x94], esi
mov ecx, ebp
mov ebx, dword [esp + 0x30]
shl ebx, cl
and ebx, edx
mov esi, dword [esp + 0x98]
and esi, edi
mov edi, dword [esp + 0x9c]
and edi, eax
or edi, esi
or edi, ebx
mov ebx, edi
shr edi, cl
and edi, edx
mov ecx, dword [esp + 0xa4]
mov ebp, ebx
shl ebx, cl
and ebx, eax
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0x94]
shr esi, cl
mov eax, ebp
mov ebp, dword [esp + 0xa0]
and esi, ebp
or esi, ebx
or esi, edi
mov ebx, dword [esp + 0x30]
cmp esi, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
shr eax, cl
and eax, ebp
mov edx, dword [esp + 0x3c]
cmp eax, edx
setne al
or eax, esi
mov ecx, ebx
jmp 0x687dd5
mov dword [esp], 0
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
call fcn.004470b0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xec], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00477fb0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x688332
mov eax, 1
test al, al
je 0x68826b
lea eax, [0x80b760]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [esp + 0x124], eax
mov dword [esp], 0
lea ecx, [0x8405ad]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0xec]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x10], edx
call fcn.00446f30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x124]
mov dword [edi + 4], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68825f
mov dword [edi], ecx
mov ebx, dword [esp + 0x50]
mov dword [edi + 8], ebx
mov ebx, dword [0xc83da0]
test ebx, ebx
jne 0x688243
mov ebx, dword [esp + 0xe0]
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0xa8]
mov dword [edi + 0x10], ebx
sar ebx, 0x1f
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x174]
mov ebp, dword [ebx + 0x4c]
test ebp, ebp
je 0x6881fe
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x687e88
mov dword [esp], ebx
lea eax, [0x98a470]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00685ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x688237
mov dword [edx + 0x50], ecx
mov ebx, edx
jmp 0x6881f3
lea edi, [edx + 0x50]
mov eax, ecx
call fcn.00459d90
jmp 0x688233
lea ebx, [edi + 0xc]
mov eax, edi
mov edi, ebx
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.00459d90
mov edi, ecx
jmp 0x6881d5
mov eax, ecx
call fcn.00459d90
jmp 0x6881ba
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00408480
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0xc714a0]
test cl, cl
je 0x688327
lea ecx, [0x7cf3a0]
mov dword [0xc714a4], ecx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x68831a
mov dword [0xc714a8], eax
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], eax
mov edx, dword [esp + 0x134]
test edx, edx
je 0x688312
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x6882d7
or ebx, 0x80
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10], eax
call fcn.00491250
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x174]
jmp 0x687e88
xor ebx, ebx
xor eax, eax
xor edx, edx
jmp 0x6882d7
lea edi, [0xc714a8]
call fcn.00459d90
jmp 0x6882a7
lea ecx, [0x7cf3a0]
jmp 0x6882a7
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
call fcn.00490de0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
nop
and eax, 0x1f
lea edx, [eax - 2]
cmp edx, 4
ja 0x6893a7
mov ebx, dword [ecx]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
cmp ebx, 0x20
sbb ebp, ebp
mov dword [esp + 0xa4], ebp
mov esi, ebx
shr ebx, 5
cmp ebx, 1
sbb ebx, ebx
lea ecx, [esi - 0x20]
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0xa0], edi
mov eax, ecx
neg ecx
mov dword [esp + 0x9c], ecx
cmp ecx, 0x20
mov edx, ebx
sbb ebx, ebx
mov dword [esp + 0x98], ebx
cmp esi, 0x20
sbb ebx, ebx
mov dword [esp + 0xb4], ebx
mov ecx, eax
mov ebx, dword [esp + 0x34]
shl ebx, cl
mov ecx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x34]
shr ebp, cl
mov dword [esp + 0x94], ebp
mov ecx, esi
mov ebp, dword [esp + 0x38]
shl ebp, cl
mov dword [esp + 0x90], ebp
mov ebp, dword [esp + 0x34]
shl ebp, cl
and ebx, edi
mov edi, dword [esp + 0xa4]
and ebp, edi
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0x90]
and ebp, edi
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x98]
and edi, esi
or edi, ebp
or edi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x9c]
mov ebp, edi
shl edi, cl
mov ecx, ebx
mov esi, dword [esp + 0x8c]
shr esi, cl
mov ebx, dword [esp + 0xa0]
not ebx
or ebx, eax
mov eax, ecx
mov ecx, ebx
mov ebx, ebp
sar ebp, cl
xor edx, 0xffffffff
and edx, ebp
mov ebp, dword [esp + 0xa4]
and esi, ebp
mov ebp, dword [esp + 0x98]
and edi, ebp
or edi, esi
or edx, edi
mov ebp, dword [esp + 0x34]
cmp edx, ebp
xchg esi, ebx
setne bl
xchg esi, ebx
mov ecx, dword [esp + 0xb4]
not ecx
or ecx, eax
sar ebx, cl
mov edx, dword [esp + 0x38]
cmp ebx, edx
setne al
or eax, esi
mov ecx, ebp
jmp 0x688146
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
call fcn.00490ea0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x120], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x11c], edx
mov ebx, dword [esp + 0x174]
mov dword [esp], ebx
mov ebp, dword [esp + 0x100]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov byte [esp + 0x1c], 1
call fcn.00689720
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x688544
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.0048c0d0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
jmp 0x687ca9
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
add esp, 0x170
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x688597
mov dword [edx + 0x50], eax
mov ebx, dword [esp + 0xac]
cmp ebx, 0x15
jmp 0x687ac5
lea edi, [edx + 0x50]
call fcn.00459d90
mov ebx, dword [esp + 0xac]
cmp ebx, 0x15
jmp 0x687ac5
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00447200
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x174]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.00689720
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x68862e
mov ebx, dword [esp + 0xac]
cmp ebx, 0x15
mov edx, dword [esp + 0x174]
jmp 0x687ac5
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov ecx, 0
mov eax, 0
jmp 0x687a15
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov ecx, dword [0xc69fec]
mov edx, dword [str.null]
mov ebx, dword [0xc69ff0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x1c], 0
call fcn.00689720
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x6886c4
mov ebx, dword [esp + 0xac]
cmp ebx, 0x15
mov edx, dword [esp + 0x174]
jmp 0x687ac5
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xe8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
call fcn.00686360
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x688728
mov ebx, dword [esp + 0xac]
cmp ebx, 0x15
mov edx, dword [esp + 0x174]
jmp 0x687ac5
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
mov dword [esp], eax
mov dword [esp + 4], 9
call fcn.006860f0
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
movzx ebx, byte [esp + 0x2e]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xe4]
jmp 0x6879b3
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00490ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0048c0d0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
jmp 0x687972
lea eax, [0x7d6de0]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.0040fd80
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
test al, al
je 0x688db8
mov edx, dword [esp + 0x7c]
cmp ecx, edx
jae 0x689484
lea ecx, [ecx + ecx*8]
mov ebx, dword [esp + 0x130]
lea ecx, [ebx + ecx*8]
test ecx, ecx
je 0x688cae
mov dword [esp + 0x108], ecx
movzx ebp, byte [ecx + 0x41]
xchg ebp, eax
mov byte [esp + 0x2e], al
xchg ebp, eax
mov esi, dword [ecx + 0x30]
mov dword [esp + 0x84], esi
mov eax, ebx
mov ebx, dword [ecx + 0x2c]
mov dword [esp + 0x118], ebx
mov edi, dword [esp + 0x12c]
mov dword [esp + 0xc0], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x44], eax
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb8]
jmp 0x6888e4
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.0048c230
mov eax, dword [esp + 0x80]
inc eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x84]
movzx ebp, byte [esp + 0x2e]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x80], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
cmp edx, esi
jge 0x688c93
mov eax, dword [ebx + edx*4]
mov dword [esp + 0x78], eax
nop
mov ecx, dword [esp + 0x44]
and ecx, 0x1f
cmp ecx, 0x16
jne 0x688c81
lea ebp, [ecx - 0x15]
cmp ebp, 1
ja 0x689437
mov ecx, dword [esp + 0x44]
test ecx, 0x200
je 0x68894b
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call fcn.0048c0d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
jmp 0x68887a
test ecx, 0x80
je 0x688c7a
mov ebp, dword [edi]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x688923
mov ebp, ecx
and ecx, 0x160
cmp ecx, 0x100
jne 0x688a0b
mov dword [esp + 0xd0], edi
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.00490380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00490ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0048ee60
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0xd0]
jmp 0x688923
mov eax, dword [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.00490380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x688a41
mov eax, dword [eax + 4]
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
lea eax, [0x858505]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x154]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x688c39
xor eax, eax
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xe4], ebp
mov esi, dword [edx + 0x44]
mov edi, ecx
lea ecx, [esi + 1]
mov ebx, dword [edx + 0x40]
mov dword [esp + 0x114], ebx
mov ebp, dword [edx + 0x48]
mov edx, dword [esp + 0x108]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x110], edx
cmp ecx, ebp
ja 0x688bb2
mov ecx, dword [esp + 0x114]
lea ebp, [esi + 1]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x44], ebp
lea ebp, [ecx + esi*8 + 4]
mov dword [ebp], ebx
lea ecx, [ecx + esi*8]
mov ebx, dword [0xc83da0]
test ebx, ebx
jne 0x688b97
mov ebx, dword [esp + 0x110]
mov dword [ecx], ebx
mov ecx, dword [esp + 0x4c]
mov dword [edx + 0x38], ecx
mov ebx, dword [0xc83da0]
test ebx, ebx
jne 0x688b75
mov ebx, dword [esp + 0xdc]
mov dword [edx + 0x3c], ebx
mov ebp, dword [esp + 0xe8]
mov esi, dword [esp + 0xe4]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xcc]
mov ebx, eax
mov eax, dword [esp + 0x40]
mov eax, ebp
mov ebp, edi
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x40]
jmp 0x68797a
lea ebp, [edx + 0x3c]
mov ebx, edi
mov edi, ebp
mov esi, eax
mov eax, dword [esp + 0xdc]
call fcn.00459d90
mov eax, esi
mov edi, ebx
mov ebx, dword [esp + 0xdc]
jmp 0x688b42
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, dword [esp + 0x110]
call fcn.00459d90
mov eax, ebp
mov edi, ebx
jmp 0x688b27
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], edi
mov byte [esp + 0x2f], al
lea eax, [0x7cfd20]
mov dword [esp], eax
mov edx, dword [esp + 0x114]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00443b60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x174]
mov dword [ebx + 0x48], edx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x688c2f
mov dword [ebx + 0x40], eax
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x88]
mov esi, ecx
mov ecx, eax
movzx eax, byte [esp + 0x2f]
jmp 0x688afd
lea edi, [ebx + 0x40]
call fcn.00459d90
jmp 0x688c0c
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x688c6d
mov dword [edx + 0x50], eax
jmp 0x688ab0
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x688ab0
mov ebp, edi
jmp 0x688959
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x44]
mov edx, edi
jmp 0x68887a
mov edx, dword [esp + 0x174]
mov eax, ebp
mov ecx, dword [esp + 0x44]
mov ebx, edi
mov ebp, dword [esp + 0xc8]
jmp 0x688ab8
mov eax, dword [esp + 0x174]
movzx ecx, byte [eax + 0x55]
test cl, cl
jne 0x688cd7
mov ecx, dword [esp + 0x4c]
mov edx, eax
mov ebx, dword [esp + 0xdc]
xor eax, eax
xor edi, edi
xor ebp, ebp
xor esi, esi
jmp 0x688b50
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
lea ecx, [0x7b5100]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
lea eax, [0x8475fb]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea edx, [esp + 0x154]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x688d7d
mov eax, edx
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x130]
jmp 0x688cbd
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x688dae
mov dword [edx + 0x50], eax
jmp 0x688d6b
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x688d6b
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0xfc]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x130]
xor edx, edx
jmp 0x688e01
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x7c]
mov eax, esi
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0xfc]
cmp edx, eax
jge 0x688e8a
jae 0x68947b
mov dword [esp + 0x74], edx
lea eax, [edx + edx*8]
mov dword [esp + 0x84], eax
shl eax, 3
mov edi, dword [ecx + eax + 0x14]
mov dword [esp + 0x10c], edi
mov edi, dword [ecx + eax + 0x10]
mov ebx, dword [ecx + eax + 0xc]
mov eax, dword [ecx + eax + 8]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x10c]
mov edi, dword [ebx]
mov edx, ebx
call edi
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x130]
lea eax, [ecx + eax*8]
movzx ebx, byte [esp + 0x18]
test bl, bl
je 0x688dd6
mov edx, dword [esp + 0x7c]
mov ebx, ecx
mov ecx, eax
jmp 0x688804
xor eax, eax
jmp 0x688e7d
lea eax, [0x80b760]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x840162]
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x688f50
mov ecx, dword [esp + 0xdc]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x4c]
test edx, edx
je 0x688f0d
mov dword [esp], ecx
call fcn.00685fd0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
mov dword [esp], ecx
lea edx, [0x98a470]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x688f46
mov dword [edx + 0x50], eax
mov ecx, edx
jmp 0x688ee8
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x688f42
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.00459d90
mov eax, ecx
jmp 0x688ece
mov edx, dword [eax + 0x4c]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 0xa
ja 0x689039
mov eax, dword [esp + 0xac]
lea ecx, [eax - 0x15]
cmp ecx, 1
ja 0x6894cd
mov ecx, dword [esp + 0xb0]
test ecx, 0x200
je 0x688fbd
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x6877c8
test ecx, 0x80
je 0x68902e
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx]
test ebx, ebx
setne bl
xor ebx, 1
test bl, bl
je 0x688fb2
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.00490c70
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 8], edx
call fcn.0048ee60
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
jmp 0x688fb2
mov edx, dword [esp + 0x12c]
mov ebx, edx
jmp 0x688fce
cmp eax, 0x18
je 0x688f90
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
lea edx, [0x993400]
cmp ecx, edx
jne 0x68950a
mov dword [esp], eax
call fcn.00486420
lea eax, [0x993400]
test byte [eax], al
mov ecx, dword [esp + 4]
mov dword [esp], ecx
mov ecx, dword [0xc70a44]
mov edx, dword [0xc70a40]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00486750
movzx eax, byte [esp + 0xc]
test al, al
jne 0x688f90
lea eax, [0x80b760]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x840162]
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68916a
mov ecx, dword [esp + 0xdc]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0x10], edx
sar edx, 0x1f
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x4c]
test edx, edx
je 0x689127
mov dword [esp], ecx
call fcn.00685fd0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
mov dword [esp], ecx
lea edx, [0x98a470]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x689160
mov dword [edx + 0x50], eax
mov ecx, edx
jmp 0x689102
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x68915c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.00459d90
mov eax, ecx
jmp 0x6890e8
mov eax, dword [esp + 0x174]
mov dword [esp], eax
call fcn.0068c0a0
mov eax, dword [esp + 4]
nop
movzx ecx, byte [0xc714a0]
test cl, cl
je 0x689259
lea ecx, [0x7d6e60]
mov dword [0xc714a4], ecx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x689249
mov dword [0xc714a8], eax
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
mov ecx, dword [esp + 0x144]
test ecx, ecx
je 0x689241
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x6891f3
or edx, 0x80
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebx, dword [esp + 0x12c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048ee60
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
add esp, 0x170
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6891f3
lea edi, [0xc714a8]
call fcn.00459d90
jmp 0x6891c5
lea ecx, [0x7d6e60]
jmp 0x6891c5
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0048e150
mov eax, dword [esp + 0xc]
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb0]
jmp 0x687794
mov dword [esp + 0xd8], eax
mov dword [esp + 0x48], ecx
nop
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa8], ecx
mov dword [esp], eax
call fcn.00685fd0
mov eax, dword [esp + 0x174]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
cmp eax, edx
ja 0x68952f
mov ebx, dword [esp + 0xa8]
dec ebx
cmp ebx, eax
ja 0x689526
mov ebp, dword [esp + 0x48]
mov ebp, dword [ebp + 0x10]
mov esi, dword [esp + 0xd8]
mov dword [esp], esi
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add ecx, edx
mov dword [esp + 4], ecx
sub eax, ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
add esp, 0x170
ret
lea eax, [0x7cfd20]
mov dword [esp], eax
lea eax, [0x983b78]
mov dword [esp + 4], eax
call fcn.00430830
mov edx, ebp
call fcn.00459e50
mov dword [esp + 0xb0], eax
lea eax, [0x7f2ce0]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x849f7f]
mov dword [eax], ecx
mov ecx, dword [esp + 0xb0]
mov dword [eax + 8], ecx
lea ecx, [0x7deb80]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00430830
mov dword [esp + 0xb0], eax
lea eax, [0x7f2ce0]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x84946c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xb0]
mov dword [eax + 8], ecx
lea ecx, [0x7deb80]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00430830
lea eax, [0x7cfd20]
mov dword [esp], eax
lea eax, [0x983b70]
mov dword [esp + 4], eax
call fcn.00430830
mov dword [esp], ecx
lea eax, [0x837980]
mov dword [esp + 4], eax
lea eax, [0x82bc60]
mov dword [esp + 8], eax
call fcn.00408210
lea eax, [0x7cfd20]
mov dword [esp], eax
lea eax, [0x983b68]
mov dword [esp + 4], eax
call fcn.00430830
mov dword [esp + 0xb0], ecx
lea eax, [0x7f2ce0]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x845ae6]
mov dword [eax], ecx
mov ecx, dword [esp + 0xb0]
mov dword [eax + 8], ecx
lea ecx, [0x7deb80]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00430830
mov ecx, eax
mov eax, edx
call fcn.00459e10
mov eax, ecx
mov ecx, edx
call fcn.00459e10
lea eax, [0x7cfd20]
mov dword [esp], eax
lea eax, [0x983b60]
mov dword [esp + 4], eax
call fcn.00430830
mov eax, esi
mov ecx, ebx
call fcn.00459e70
mov ecx, ebx
call fcn.00459e50
lea eax, [0x7cfd20]
mov dword [esp], eax
lea eax, [0x983b50]
mov dword [esp + 4], eax
call fcn.00430830
lea eax, [0x7f2ce0]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x845ae6]
mov dword [eax], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 8], ecx
lea ecx, [0x7deb80]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00430830
mov dword [esp], ecx
lea eax, [0x837980]
mov dword [esp + 4], eax
lea eax, [0x82bc60]
mov dword [esp + 8], eax
call fcn.00408210
mov ecx, eax
mov eax, ebx
call fcn.00459e70
mov ecx, eax
call fcn.00459e50
nop
call fcn.00458550
jmp fcn.006875b0