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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x68be05
sub esp, 0xfc
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x6898b5
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x6897c1
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x68987a
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xfc
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x6898ab
mov dword [edx + 0x50], eax
jmp 0x68985d
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x68985d
mov eax, dword [esp + 0x104]
cmp byte [eax], 0x6e
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x118]
mov dword [esp + 8], ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0xc], al
xchg ebp, eax
call fcn.006865d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
test ebx, ebx
jne 0x68bd37
test ecx, ecx
je 0x689de3
mov edx, dword [esp + 0x104]
movzx ebx, byte [edx]
cmp bl, 0x22
je 0x689c35
movzx eax, byte [esp + 0x11c]
test al, al
jne 0x689acf
cmp bl, 0x66
jne 0x689aa1
mov eax, 4
lea ecx, [0x83f9e0]
mov dword [esp + 0x44], eax
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0x110]
mov dword [esp], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x118]
mov dword [esp + 8], edx
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x689a90
mov ecx, dword [esp + 0xa8]
mov dword [edi], ecx
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x689a74
mov eax, dword [esp + 0xc8]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x7c]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x689a33
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xfc
ret
mov dword [esp], eax
lea ecx, [0x98a470]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x689a6a
mov dword [edx + 0x50], eax
jmp 0x689a16
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689a16
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov edi, edx
jmp 0x6899fa
mov eax, dword [esp + 0xa8]
call fcn.00459d90
jmp 0x6899d8
cmp bl, 0x6e
jne 0x689ab6
mov eax, 4
lea ecx, [0x83fa88]
jmp 0x689954
cmp bl, 0x74
je 0x689949
mov eax, 6
lea ecx, [0x84015c]
jmp 0x689954
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x689b41
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x689bfa
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xfc
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x689c2b
mov dword [edx + 0x50], eax
jmp 0x689bdd
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689bdd
mov dword [esp + 0xac], eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x108]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xc], ecx
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
jne 0x689da7
movzx eax, byte [esp + 0x11c]
test al, al
je 0x68bdec
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x689d04
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
add esp, 0xfc
ret
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0xac]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
mov dword [esp + 0x78], ebp
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], edi
mov eax, dword [esp + 0x104]
movzx ecx, byte [eax]
cmp cl, 0x66
ja 0x68bb3e
cmp cl, 0x22
je 0x68b25b
cmp cl, 0x66
jne 0x68a420
movzx edx, byte [esp + 0x11c]
test dl, dl
je 0x68a414
mov ebx, dword [esp + 0x108]
cmp ebx, 4
je 0x68a403
cmp ebx, 5
je 0x689f96
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x689ea0
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
je 0x689f59
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
add esp, 0xfc
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x689f8a
mov dword [edx + 0x50], ecx
jmp 0x689f3c
lea edi, [edx + 0x50]
mov eax, ecx
call fcn.00459d90
jmp 0x689f3c
cmp dword [eax], 0x736c6166
jne 0x689e43
cmp byte [eax + 4], 0x65
jne 0x689e43
cmp cl, 0x74
sete cl
nop
nop
and ebp, 0x1f
cmp ebp, 1
je 0x68a3e6
cmp ebp, 0x14
je 0x68a206
test dl, dl
je 0x68a113
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x68a032
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x689f3c
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 + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68a106
mov dword [edx + 0x50], eax
jmp 0x689f3c
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689f3c
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x83f9e0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68a1f1
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x7c]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x689f3c
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 + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68a1e4
mov dword [edx + 0x50], eax
jmp 0x689f3c
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689f3c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov eax, ecx
jmp 0x68a18a
mov byte [esp + 0x2f], cl
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.0048e150
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x68a2e5
movzx ecx, byte [esp + 0x2f]
movzx ecx, cl
lea edx, [0xc28c40]
lea eax, [edx + ecx]
nop
movzx ecx, byte [0xc714a0]
test cl, cl
je 0x68a2dd
lea ecx, [0x7cb3e0]
mov dword [0xc714a4], ecx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x68a2d0
mov dword [0xc714a8], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0xcc]
test ecx, ecx
je 0x68a2c8
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x68a295
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048ee60
jmp 0x689f3c
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x68a295
lea edi, [0xc714a8]
call fcn.00459d90
jmp 0x68a267
lea ecx, [0x7cb3e0]
jmp 0x68a267
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 4
lea ecx, [0x83f9e0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68a3d1
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x7c]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x689f3c
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 + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68a3c4
mov dword [edx + 0x50], eax
jmp 0x689f3c
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689f3c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov eax, ecx
jmp 0x68a36a
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov byte [esp + 0xc], cl
call fcn.0048ef70
jmp 0x689f3c
cmp dword [eax], 0x65757274
jne 0x689e3a
jmp 0x689fac
mov ebx, dword [esp + 0x108]
jmp 0x689fac
cmp cl, 0x2d
je 0x68a54b
cmp cl, 0x30
jae 0x68a542
movzx ecx, byte [esp + 0x11c]
test cl, cl
je 0x68bdb7
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x68a49f
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
add esp, 0xfc
ret
cmp cl, 0x39
ja 0x68a432
mov dword [esp], 0
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x108]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0xc], edx
call fcn.004470b0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb4], ecx
nop
mov edx, dword [esp + 0x78]
mov ebx, edx
and edx, 0x1f
cmp edx, 0xc
ja 0x68ad92
lea ebp, [edx - 2]
cmp ebp, 4
jbe 0x68aae0
lea ebp, [edx - 7]
cmp ebp, 5
jbe 0x68a86d
cmp edx, 0x18
je 0x68a80a
xor edx, edx
test dl, dl
jne 0x68a7df
movzx eax, byte [esp + 0x11c]
test al, al
je 0x68a6e0
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x68a63d
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
add esp, 0xfc
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x84015c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68a7ca
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x7c]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x689f3c
mov dword [esp], ecx
lea edx, [0x98a470]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68a7bb
mov dword [edx + 0x50], ecx
jmp 0x689f3c
lea edi, [edx + 0x50]
mov eax, ecx
call fcn.00459d90
jmp 0x689f3c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov eax, ecx
jmp 0x68a761
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0048fbb0
jmp 0x689f3c
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00490380
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp dword [0xc70a30], ecx
je 0x68a850
xor eax, eax
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x78]
mov edx, eax
mov eax, dword [esp + 0x4c]
jmp 0x68a5ba
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0xc70a34]
mov dword [esp + 8], eax
call fcn.004033f0
movzx eax, byte [esp + 0xc]
jmp 0x68a83a
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004777c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x68a9f9
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [esp + 0xbc], eax
mov dword [esp], 0
lea ecx, [0x8405ad]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
call fcn.00446f30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0xbc]
mov dword [edi + 4], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68a9ed
mov dword [edi], ecx
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68a9d4
mov eax, dword [esp + 0xc8]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x7c]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x689f3c
mov dword [esp], eax
lea ecx, [0x98a470]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68a9c7
mov dword [edx + 0x50], eax
jmp 0x689f3c
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689f3c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov edi, edx
jmp 0x68a96d
mov eax, ecx
call fcn.00459d90
jmp 0x68a94f
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0xc0]
mov ebp, dword [ebx]
shl ebp, 3
lea ecx, [ebp - 0x40]
neg ecx
mov dword [esp + 0x80], ecx
cmp ecx, 0x20
sbb ebp, ebp
mov dword [esp + 0x74], ebp
lea esi, [ecx - 0x20]
mov dword [esp + 0x70], esi
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb ebx, ebx
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x6c], edi
shl eax, cl
and eax, ebp
shl edx, cl
and edx, ebp
mov ecx, esi
mov ebp, dword [esp + 0x38]
shr ebp, cl
and ebp, ebx
or ebp, edx
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x38]
shl edx, cl
and edx, edi
or edx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x80]
shr eax, cl
mov edi, dword [esp + 0x74]
and eax, edi
mov ecx, esi
mov esi, edx
shl edx, cl
and edx, ebx
or eax, edx
mov ecx, ebp
mov edx, esi
shr esi, cl
mov ebx, dword [esp + 0x6c]
and esi, ebx
or eax, esi
mov ebx, dword [esp + 0x38]
cmp eax, ebx
setne al
mov ecx, dword [esp + 0x80]
shr edx, cl
and edx, edi
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
setne dl
or edx, eax
test dl, dl
jne 0x68a89d
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.0048f9b0
jmp 0x689f3c
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 + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x68ac71
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [esp + 0xbc], eax
mov dword [esp], 0
lea ecx, [0x8405ad]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
call fcn.00446f30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0xbc]
mov dword [edi + 4], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68ac65
mov dword [edi], ecx
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68ac49
mov eax, dword [esp + 0xc8]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x7c]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x689f3c
mov dword [esp], eax
lea ecx, [0x98a470]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00685ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68ac3a
mov dword [edx + 0x50], ecx
jmp 0x689f3c
lea edi, [edx + 0x50]
mov eax, ecx
call fcn.00459d90
jmp 0x689f3c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov edi, edx
jmp 0x68abe0
mov eax, ecx
call fcn.00459d90
jmp 0x68abc2
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0xc0]
mov ebp, dword [ebx]
shl ebp, 3
add ebp, 0xffffffc0
xchg ebp, ebx
neg ebx
xchg ebp, ebx
lea ecx, [ebp - 0x20]
mov dword [esp + 0x74], ecx
cmp ecx, 0x20
sbb esi, esi
mov edi, ebp
shr ebp, 5
cmp ebp, 1
sbb ebp, ebp
mov dword [esp + 0x70], ebp
neg ecx
mov dword [esp + 0x6c], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x68], ebx
cmp edi, 0x20
sbb ebp, ebp
sbb ebx, ebx
mov dword [esp + 0x80], ebx
mov ecx, dword [esp + 0x74]
shl eax, cl
mov ecx, edi
shl edx, cl
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x34]
shr ebx, cl
mov ecx, edi
mov edx, dword [esp + 0x34]
shl edx, cl
and edx, ebp
mov dword [esp + 0x60], edx
and eax, esi
mov edx, dword [esp + 0x68]
and ebx, edx
mov edx, dword [esp + 0x64]
and edx, ebp
or edx, ebx
or edx, eax
xchg esi, ebx
not ebx
xchg esi, ebx
mov eax, dword [esp + 0x74]
or esi, eax
mov ecx, esi
mov eax, edx
sar edx, cl
mov ecx, edi
mov ebx, dword [esp + 0x60]
shr ebx, cl
and ebx, ebp
mov ecx, dword [esp + 0x6c]
mov ebp, eax
shl eax, cl
mov esi, dword [esp + 0x68]
and eax, esi
or ebx, eax
mov eax, dword [esp + 0x70]
xor eax, 0xffffffff
and eax, edx
or eax, ebx
mov edx, dword [esp + 0x34]
cmp eax, edx
setne al
mov ecx, dword [esp + 0x80]
not ecx
or ecx, edi
sar ebp, cl
mov ebx, dword [esp + 0x40]
cmp ebp, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x68ab10
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.0048f430
jmp 0x689f3c
lea ebp, [edx - 0xd]
cmp ebp, 1
jbe 0x68b02e
cmp edx, 0x14
jne 0x68a5af
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00689550
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x68ae28
nop
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x689f3c
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00685ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68ae19
mov dword [edx + 0x50], ecx
jmp 0x689f3c
lea edi, [edx + 0x50]
mov eax, ecx
call fcn.00459d90
jmp 0x689f3c
mov dword [esp + 0x30], edx
mov dword [esp + 0xa4], ebx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
call fcn.0048e150
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x68af2b
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x68af23
nop
movzx edx, byte [0xc714a0]
test dl, dl
je 0x68af17
mov dword [0xc714a4], ecx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x68af03
mov eax, dword [esp + 0xa4]
mov dword [0xc714a8], eax
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xdc]
test ecx, ecx
je 0x68aefb
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x68aec8
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048ee60
jmp 0x689f3c
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x68aec8
lea edi, [0xc714a8]
mov eax, dword [esp + 0xa4]
call fcn.00459d90
jmp 0x68ae9a
mov eax, dword [esp + 0xa4]
jmp 0x68ae9a
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x68aec8
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x84015c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b019
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x7c]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x689f3c
mov dword [esp], ecx
lea edx, [0x98a470]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68b00a
mov dword [edx + 0x50], ecx
jmp 0x689f3c
lea edi, [edx + 0x50]
mov eax, ecx
call fcn.00459d90
jmp 0x689f3c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov eax, ecx
jmp 0x68afb0
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00490380
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00477290
mov eax, dword [esp + 0x14]
movsd xmm0, qword [esp + 0xc]
test eax, eax
je 0x68b1eb
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [esp + 0xbc], eax
mov dword [esp], 0
lea ecx, [0x8405ad]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
call fcn.00446f30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0xbc]
mov dword [edi + 4], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b1e1
mov dword [edi], eax
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b1c8
mov eax, dword [esp + 0xc8]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x7c]
dec eax
mov dword [edi + 0x10], eax
sar eax, 0x1f
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x689f3c
mov dword [esp], eax
lea ecx, [0x98a470]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00685ea0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b1bb
mov dword [edx + 0x50], eax
jmp 0x689f3c
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689f3c
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov edi, edx
jmp 0x68b161
call fcn.00459d90
jmp 0x68b143
mov eax, dword [esp + 0x5c]
cmp eax, 0xd
jne 0x68b251
nop
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x68b20a
movsd xmm1, qword [0x983358]
pxor xmm0, xmm1
movsd xmm1, qword [0x983340]
ucomisd xmm0, xmm1
jbe 0x68b22a
movsd xmm1, qword [0x983348]
ucomisd xmm1, xmm0
jae 0x68b091
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.0048f370
jmp 0x689f3c
cmp eax, 0xe
je 0x68b22a
jmp 0x68bd7d
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x108]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 0xc], ebx
call fcn.0068c600
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
test al, al
je 0x68ba1c
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0xb0], ebx
nop
nop
mov eax, dword [esp + 0x78]
mov ebp, eax
and eax, 0x1f
cmp eax, 0x14
je 0x68b806
cmp eax, 0x17
je 0x68b57b
cmp eax, 0x18
jne 0x68b47e
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00490380
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp dword [0xc70a30], ecx
je 0x68b45e
xor eax, eax
test al, al
jne 0x68b413
xor eax, eax
test al, al
jne 0x68b372
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
call fcn.004470b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc0]
mov dword [esp], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0048fbb0
jmp 0x689f3c
mov eax, dword [esp + 0x104]
mov dword [esp], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 8], eax
call fcn.00408570
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
lea ecx, [0x7b5100]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], eax
lea eax, [0x8595fa]
mov dword [esp], eax
mov dword [esp + 4], 0x40
lea eax, [esp + 0xe4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
add esp, 0xfc
ret
lea eax, [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc], edx
call fcn.004470b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0068f5e0
movzx eax, byte [esp + 8]
xor eax, 1
jmp 0x68b310
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0xc70a34]
mov dword [esp + 8], eax
call fcn.004033f0
movzx eax, byte [esp + 0xc]
jmp 0x68b306
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x8401da]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b566
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x7c]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x689f3c
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 + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b559
mov dword [edx + 0x50], eax
jmp 0x689f3c
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689f3c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov eax, ecx
jmp 0x68b4ff
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
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]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x68b705
mov eax, dword [0xc702a8]
cmp dword [eax + 0x140], 0xffffffff
jne 0x68b6f6
mov eax, dword [esp + 0x50]
lea ecx, [eax + eax*2]
mov edx, ecx
shl ecx, 1
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx*2]
sar ecx, 3
mov dword [esp + 0x58], ecx
lea eax, [0x7cffa0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00443a00
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
mov ecx, dword [0xc702a8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], edx
call fcn.00563e50
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
test edx, edx
je 0x68b6b0
nop
mov ecx, dword [esp + 0x100]
mov ebx, dword [ecx + 0x4c]
test ebx, ebx
jne 0x689f3c
mov dword [esp], ecx
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 + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b6a3
mov dword [edx + 0x50], eax
jmp 0x689f3c
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689f3c
mov edx, dword [esp + 0x58]
cmp ecx, edx
ja 0x68bdcf
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0048f040
jmp 0x689f3c
mov eax, dword [esp + 0x50]
shr eax, 2
lea ecx, [eax + eax*2]
jmp 0x68b5ee
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x8401da]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b7f1
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x7c]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x689f3c
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 + 0x100]
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68b7e4
mov dword [edx + 0x50], eax
jmp 0x689f3c
lea edi, [edx + 0x50]
call fcn.00459d90
jmp 0x689f3c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov eax, ecx
jmp 0x68b78a
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.0048e150
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x68b919
mov dword [esp], 0
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
call fcn.004470b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004084f0
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0xc714a0]
test cl, cl
je 0x68b911
lea ecx, [0x7cfd20]
mov dword [0xc714a4], ecx
mov edx, dword [0xc83da0]
test edx, edx
jne 0x68b904
mov dword [0xc714a8], eax
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x68b8fc
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x68b8c9
or edx, 0x80
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048ee60
jmp 0x689f3c
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x68b8c9
lea edi, [0xc714a8]
call fcn.00459d90
jmp 0x68b89b
lea ecx, [0x7cfd20]
jmp 0x68b89b
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0xc]
mov dword [esp + 0x7c], ebx
lea ebp, [0x80b760]
mov dword [esp], ebp
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 6
lea ecx, [0x8401da]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov ecx, dword [0xc83da0]
test ecx, ecx
jne 0x68ba07
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x7c]
dec ecx
mov dword [eax + 0x10], ecx
sar ecx, 0x1f
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x4c]
test edx, edx
jne 0x689f3c
mov dword [esp], ecx
lea edx, [0x98a470]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68b9f8
mov dword [edx + 0x50], ecx
jmp 0x689f3c
lea edi, [edx + 0x50]
mov eax, ecx
call fcn.00459d90
jmp 0x689f3c
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00459d90
mov eax, ecx
jmp 0x68b99e
movzx eax, byte [esp + 0x11c]
test al, al
je 0x68bdd4
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x68ba9b
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
add esp, 0xfc
ret
cmp cl, 0x6e
jne 0x68bd29
movzx ecx, byte [esp + 0x11c]
test cl, cl
je 0x68bcb3
mov ecx, dword [esp + 0x108]
cmp ecx, 4
je 0x68bca7
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.00490380
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc8], ecx
mov edx, dword [esp + 0x104]
mov dword [esp], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 8], edx
call fcn.00408570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x68bbc4
mov ecx, dword [ecx + 4]
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea edx, [0x7b5100]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xf8], eax
lea eax, [0x85a152]
mov dword [esp], eax
mov dword [esp + 4], 0x47
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004d1710
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0x4c]
test ebx, ebx
jne 0x689f3c
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00685ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov dword [edx + 0x4c], eax
mov eax, dword [0xc83da0]
test eax, eax
jne 0x68bc98
mov dword [edx + 0x50], ecx
jmp 0x689f3c
lea edi, [edx + 0x50]
mov eax, ecx
call fcn.00459d90
jmp 0x689f3c
cmp dword [eax], 0x6c6c756e
jne 0x68bb67
nop
mov eax, ebp
and ebp, 0x1f
lea ecx, [ebp - 0x14]
nop
cmp ecx, 3
ja 0x689f3c
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.00490380
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00490de0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0048ee60
jmp 0x689f3c
cmp cl, 0x74
je 0x689e1a
jmp 0x68a420
mov eax, dword [ebx + 0x10]
mov dword [esp], edx
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
add esp, 0xfc
ret
lea eax, [0x7f2ce0]
mov dword [esp], eax
call fcn.0040ac80
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x84a8ea]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
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, [0x983ae8]
mov dword [esp + 4], eax
call fcn.00430830
call fcn.00459e50
lea eax, [0x7cfd20]
mov dword [esp], eax
lea eax, [0x983ae0]
mov dword [esp + 4], eax
call fcn.00430830
lea eax, [0x7cfd20]
mov dword [esp], eax
lea eax, [0x983b88]
mov dword [esp + 4], eax
call fcn.00430830
nop
call fcn.00458550
jmp fcn.00689720