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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x88]
cmp eax, dword [ecx + 8]
jbe 0x676a5f
sub esp, 0x108
mov ebx, dword [esp + 0x10c]
mov ebp, dword [ebx]
mov dword [esp + 0xec], ebp
test byte [ebp], al
mov esi, dword [ebx + 0x38]
mov dword [esp + 0xe8], esi
test byte [esi], al
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0xe4], edi
test byte [edi], al
mov eax, dword [ebx + 0x14]
mov edi, dword [esp + 0x110]
dec edi
mov edx, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x88]
mov dword [esp + 0xbc], ecx
mov esi, dword [ebx + 0x4c]
mov ebp, dword [ebx + 0x2c]
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ebx + 0x30]
jmp 0x6752e7
dec eax
mov dword [esp + 0xc8], eax
mov eax, edi
mov edi, dword [esp + 0xc8]
mov edi, esi
mov esi, ebp
mov ebp, ecx
mov ecx, ebx
mov ebx, edi
mov edi, dword [esp + 0xc8]
test edi, edi
jl 0x676857
mov dword [esp + 0x58], edi
mov dword [esp + 0x78], ebx
mov edi, dword [esp + 0x114]
movzx ebx, byte [edi + 0x18]
cmp bl, 0x40
ja 0x676836
mov dword [esp + 0x64], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x6c], ebp
mov edi, dword [edi + 0xc]
cmp edi, 0xb
jbe 0x67588a
mov dword [esp + 0xb8], edi
shr ecx, 8
shl eax, 0x18
shr edx, 8
shl esi, 0x18
shr ebp, 8
mov edi, dword [esp + 0x78]
shl edi, 0x18
nop
nop
nop
nop
or ecx, eax
or edx, esi
or edi, ebp
cmp bl, 0x20
jae 0x675360
mov ebx, dword [esp + 0x114]
jmp 0x6753b9
mov ebx, dword [esp + 0x114]
mov ebp, dword [ebx + 4]
mov esi, dword [esp + 0xb8]
lea eax, [esi - 4]
cmp ebp, eax
jb 0x676a57
mov ebp, dword [ebx + 8]
sub ebp, esi
add ebp, 4
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
cmp esi, 4
jb 0x676a4b
mov ebp, dword [ebx]
mov ebp, dword [ebp + eax]
mov esi, dword [ebx + 0x10]
mov dword [ebx + 0x10], ebp
mov dword [ebx + 0x14], esi
movzx ebp, byte [ebx + 0x18]
add ebp, 0xffffffe0
xchg ebp, eax
mov byte [ebx + 0x18], al
xchg ebp, eax
add dword [ebx + 0xc], 0xfffffffc
mov dword [esp + 0xb4], ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x6753cd
xor eax, eax
jmp 0x6754da
mov dword [esp + 0xb0], edx
mov ebp, dword [ebx + 0x10]
mov dword [esp + 0xac], ebp
mov esi, dword [ebx + 0x14]
movzx eax, byte [ebx + 0x18]
mov byte [esp + 0x31], al
and eax, 0x3f
mov ecx, eax
shl ebp, cl
mov dword [esp + 0xa8], ebp
shl esi, cl
lea edx, [eax - 0x20]
mov ecx, edx
mov ebp, dword [esp + 0xac]
shl ebp, cl
mov dword [esp + 0xa4], ebp
neg ecx
mov byte [esp + 0x30], cl
mov ebp, dword [esp + 0xac]
shr ebp, cl
mov dword [esp + 0xac], ebp
lea ebp, [edi - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
and ebp, 0x3f
xchg ebp, eax
mov byte [esp + 0x2f], al
xchg ebp, eax
lea ecx, [ebp - 0x20]
mov byte [esp + 0x2e], cl
neg ecx
mov byte [esp + 0x2d], cl
movzx ebp, byte [esp + 0x31]
add ebp, edi
nop
xchg ebp, eax
mov byte [ebx + 0x18], al
xchg ebp, eax
cmp al, 0x20
sbb ebp, ebp
and esi, ebp
mov eax, edi
mov edi, dword [esp + 0xa8]
and edi, ebp
movzx ecx, byte [esp + 0x2f]
shr edi, cl
cmp dl, 0x20
sbb edx, edx
mov ebx, dword [esp + 0xa4]
and ebx, edx
mov edx, edi
movzx edi, byte [esp + 0x30]
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
mov ebp, dword [esp + 0xac]
and ebp, edi
or esi, ebp
or esi, ebx
mov ebx, ecx
movzx ecx, byte [esp + 0x2d]
mov ebp, esi
shl esi, cl
mov edi, ecx
movzx ecx, byte [esp + 0x2e]
shr ebp, cl
cmp bl, 0x20
sbb ebx, ebx
and edx, ebx
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebx, ebx
and esi, ebx
or edx, esi
cmp cl, 0x20
sbb ebx, ebx
and ebp, ebx
or edx, ebp
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x114]
mov edi, eax
mov eax, edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x34], eax
mov ebp, dword [esp + 0x78]
lea esi, [eax + ebp]
mov dword [esp + 0x4c], esi
mov ebp, dword [esp + 0x10c]
cmp byte [ebp + 0x94], 0x20
jbe 0x67555c
nop
cmp byte [ebx + 0x18], 0x20
jb 0x67555c
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
lea ebp, [esi - 4]
cmp eax, ebp
jb 0x676a42
mov eax, dword [ebx + 8]
sub eax, esi
lea esi, [eax + 4]
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
cmp eax, 4
jb 0x676a36
mov esi, dword [ebx]
mov ebp, dword [esi + ebp]
mov esi, dword [ebx + 0x10]
mov dword [ebx + 0x10], ebp
mov dword [ebx + 0x14], esi
movzx ebp, byte [ebx + 0x18]
add ebp, 0xffffffe0
xchg ebp, eax
mov byte [ebx + 0x18], al
xchg ebp, eax
add dword [ebx + 0xc], 0xfffffffc
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xb0], edi
test dl, dl
jne 0x67556e
xor edx, edx
jmp 0x67567f
mov eax, dword [ebx + 0x10]
mov dword [esp + 0xac], eax
mov esi, dword [ebx + 0x14]
movzx ebp, byte [ebx + 0x18]
xchg ebp, eax
mov byte [esp + 0x31], al
xchg ebp, eax
and ebp, 0x3f
mov ecx, ebp
shl eax, cl
shl esi, cl
mov dword [esp + 0xa8], esi
lea edi, [ecx - 0x20]
xchg edi, eax
mov byte [esp + 0x30], al
xchg edi, eax
mov ecx, edi
mov esi, dword [esp + 0xac]
shl esi, cl
mov dword [esp + 0xa4], esi
neg ecx
mov esi, dword [esp + 0xac]
shr esi, cl
mov dword [esp + 0xac], esi
lea edi, [edx - 0x40]
xchg edi, ebx
neg ebx
xchg edi, ebx
and edi, 0x3f
lea esi, [edi - 0x20]
xchg esi, eax
mov byte [esp + 0x2f], al
xchg esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0x2e], al
xchg esi, eax
movzx esi, byte [esp + 0x31]
add esi, edx
nop
xchg esi, eax
mov byte [ebx + 0x18], al
xchg esi, eax
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov esi, dword [esp + 0xa8]
and esi, ebp
and eax, ebp
mov edx, ecx
mov ecx, edi
shr eax, cl
cmp dl, 0x20
sbb ebp, ebp
mov edx, ebx
mov ebx, dword [esp + 0xac]
and ebx, ebp
or esi, ebx
movzx ebx, byte [esp + 0x30]
cmp bl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0xa4]
and ebp, ebx
or ebp, esi
movzx ecx, byte [esp + 0x2f]
mov ebx, ebp
shr ebp, cl
mov esi, ecx
movzx ecx, byte [esp + 0x2e]
shl ebx, cl
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
and eax, edi
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and ebp, esi
cmp cl, 0x20
sbb esi, esi
and ebx, esi
or eax, ebx
or eax, ebp
mov ecx, dword [esp + 0xb4]
mov ebx, edx
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0xb0]
mov edx, eax
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x74]
add edx, esi
test cl, cl
jne 0x675690
xor ecx, ecx
jmp 0x67579e
mov dword [esp + 0x50], edx
mov esi, dword [ebx + 0x10]
mov dword [esp + 0xac], esi
mov edx, dword [ebx + 0x14]
movzx eax, byte [ebx + 0x18]
mov byte [esp + 0x31], al
and eax, 0x3f
mov ecx, eax
shl esi, cl
mov dword [esp + 0xa8], esi
shl edx, cl
lea ebp, [eax - 0x20]
mov ecx, ebp
mov edi, dword [esp + 0xac]
shl edi, cl
mov dword [esp + 0xa4], edi
neg ecx
mov byte [esp + 0x30], cl
mov esi, dword [esp + 0xac]
shr esi, cl
mov dword [esp + 0xac], esi
mov esi, dword [esp + 0xb4]
lea ecx, [esi - 0x40]
neg ecx
and ecx, 0x3f
mov byte [esp + 0x2f], cl
add ecx, 0xffffffe0
mov byte [esp + 0x2e], cl
neg ecx
movzx edi, byte [esp + 0x31]
add esi, edi
nop
xchg esi, eax
mov byte [ebx + 0x18], al
xchg esi, eax
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov esi, dword [esp + 0xa4]
and esi, ebp
cmp al, 0x20
sbb ebp, ebp
mov edi, dword [esp + 0xa8]
and edi, ebp
and edx, ebp
mov eax, ecx
movzx ecx, byte [esp + 0x2f]
shr edi, cl
movzx ebp, byte [esp + 0x30]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov ebx, dword [esp + 0xac]
and ebx, ebp
or edx, ebx
or edx, esi
mov ebx, ecx
movzx ecx, byte [esp + 0x2e]
mov ebp, edx
shr edx, cl
mov esi, ecx
mov ecx, eax
shl ebp, cl
cmp al, 0x20
sbb eax, eax
and ebp, eax
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and edx, esi
cmp bl, 0x20
sbb ebx, ebx
and edi, ebx
or edi, ebp
or edi, edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x114]
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0x74]
mov ecx, edi
mov edi, dword [esp + 0xb0]
mov esi, dword [esp + 0x70]
add ecx, esi
xchg edi, eax
cmp al, 1
xchg edi, eax
jbe 0x6757c8
mov edi, dword [ebp + 0x58]
mov dword [ebp + 0x5c], edi
mov edi, dword [ebp + 0x54]
mov dword [ebp + 0x58], edi
mov edi, dword [esp + 0x4c]
mov dword [ebp + 0x54], edi
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x4c]
jmp 0x67581f
test ecx, ecx
jne 0x6757d6
mov edi, dword [esp + 0x78]
lea eax, [eax + edi + 1]
jmp 0x6757de
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x6757e7
mov eax, dword [ebp + 0x54]
jmp 0x67581f
cmp eax, 3
jne 0x6757f2
mov edi, dword [ebp + 0x54]
dec edi
jmp 0x6757fc
jae 0x676a2c
mov edi, dword [ebp + eax*4 + 0x54]
test edi, edi
jne 0x675805
mov edi, 1
cmp eax, 1
je 0x675810
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x54], edi
mov eax, edi
mov edi, dword [esp + 0x78]
cmp byte [ebx + 0x18], 0x20
jb 0x67590f
mov edi, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
lea ebp, [esi - 4]
cmp edi, ebp
jb 0x676a23
mov edi, dword [ebx + 8]
sub edi, esi
lea esi, [edi + 4]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
cmp edi, 4
jb 0x676a17
mov esi, dword [ebx]
mov ebp, dword [esi + ebp]
mov esi, dword [ebx + 0x10]
mov dword [ebx + 0x10], ebp
mov dword [ebx + 0x14], esi
movzx ebp, byte [ebx + 0x18]
add ebp, 0xffffffe0
xchg ebp, eax
mov byte [ebx + 0x18], al
xchg ebp, eax
add dword [ebx + 0xc], 0xfffffffc
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
jmp 0x67590f
mov ebx, dword [esp + 0x10c]
mov dword [esp], ebx
mov edi, dword [esp + 0x114]
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x78]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebp
call fcn.00676ab0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa0], edx
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
call fcn.0064e140
mov ebx, dword [esp + 0x114]
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x4c]
mov edi, dword [ebp + 0x7c]
cmp ecx, edi
jg 0x67676e
mov dword [esp + 0x4c], eax
lea edi, [edx + ecx]
mov ebx, dword [ebp + 0x88]
lea esi, [edi + ebx]
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0xbc]
sub esi, eax
cmp esi, 0x1fffff
jg 0x6766e6
mov dword [esp + 0x54], ecx
mov dword [esp + 0xa0], edx
mov esi, dword [ebp + 0x8c]
mov ebp, dword [esp + 0x40]
cmp esi, ebp
jge 0x675a83
mov ebp, ebx
sub ebx, eax
mov dword [esp + 0x3c], ebx
sar ebx, 2
lea eax, [ebx + edi]
mov ecx, dword [esp + 0x3c]
lea eax, [eax + ecx + 0x100]
lea ebx, [ebx + edi + 0x100]
cmp eax, 0x1fffff
jle 0x67598f
lea ebx, [ecx - 0x1fffff]
neg ebx
test ebx, ebx
jl 0x676a12
lea eax, [ebx + ebp]
mov ecx, dword [esp + 0x10c]
mov ebp, dword [ecx + 0x84]
cmp esi, eax
jae 0x6759dd
mov dword [esp + 0x7c], ebx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], eax
mov dword [esp + 0xe0], ebp
sub eax, ebx
mov dword [esp + 0x94], eax
lea edx, [ebp + eax]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00468c20
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + 0x88], eax
mov edx, dword [esp + 0x9c]
mov dword [ecx + 0x8c], edx
mov eax, dword [0x9eca70]
test eax, eax
jne 0x675a3f
mov eax, dword [esp + 0xe0]
jmp 0x675a56
call fcn.00468460
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
mov ebx, dword [ecx + 0x84]
mov dword [edi + 4], ebx
mov dword [ecx + 0x84], eax
mov eax, dword [esp + 0x94]
cmp edx, eax
jb 0x676a0b
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xa0]
cmp edx, 0x20002
jg 0x676662
mov ebx, dword [esp + 0x10c]
mov ebp, dword [ebx + 0x80]
mov esi, dword [ebx + 0x78]
cmp ecx, ebp
ja 0x676a04
mov ebp, dword [ebx + 0x8c]
mov edi, dword [ebx + 0x88]
lea eax, [ecx + edi]
mov edx, dword [ebx + 0x84]
cmp ebp, eax
jae 0x675b0a
mov dword [esp + 0x9c], edi
mov dword [esp + 0xe0], esi
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x98], eax
mov dword [esp + 0xe0], edx
lea ebx, [edx + edi]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.00468df0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x9c]
mov dword [ecx + 0x8c], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x675b66
mov ebx, dword [esp + 0xe0]
jmp 0x675b7d
call fcn.00468460
mov ebx, dword [esp + 0xe0]
mov dword [edi], ebx
mov ebp, dword [ecx + 0x84]
mov dword [edi + 4], ebp
mov dword [ecx + 0x84], ebx
mov ebp, dword [ecx + 0x7c]
mov eax, dword [esp + 0x54]
cmp eax, ebp
ja 0x6769fd
mov esi, dword [ecx + 0x78]
mov edi, dword [ecx + 0x80]
sub edi, eax
sub ebp, eax
mov dword [ecx + 0x7c], ebp
mov dword [ecx + 0x80], edi
mov ebp, dword [0x9eca70]
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, eax
add esi, edi
test ebp, ebp
je 0x675bcc
call fcn.00468460
mov dword [edi], esi
mov ebp, dword [ecx + 0x78]
mov dword [edi + 4], ebp
mov dword [ecx + 0x78], esi
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jne 0x675be7
mov esi, dword [esp + 0xa0]
test esi, esi
jle 0x675bee
jmp 0x676458
mov esi, dword [esp + 0xa0]
mov edi, dword [ecx + 0x88]
mov eax, ebx
mov ebx, dword [esp + 0x11c]
lea edx, [ebx + edi]
mov ebx, dword [ecx + 0x8c]
cmp ebp, edx
jg 0x675c16
cmp dword [ecx + 0x90], ebp
jge 0x675e2a
mov dword [esp + 0x9c], edx
mov eax, dword [ecx + 0x70]
test eax, eax
je 0x6765a1
mov dword [esp + 0x98], eax
sub ebp, edx
sub eax, ebp
test eax, eax
jl 0x6764dc
mov ebp, dword [esp + 0x98]
cmp ebp, eax
jle 0x6764dc
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], ebx
lea edx, [eax + esi]
mov ebx, dword [ecx + 0x74]
mov ecx, dword [ecx + 0x6c]
cmp ebp, edx
jge 0x675d52
mov dword [esp + 0x60], eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and ebx, eax
sub ebp, eax
lea edx, [ebp + edi]
add ecx, ebx
mov ebx, dword [esp + 0x48]
cmp ebx, edx
jb 0x675c97
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xd0], eax
jmp 0x675cf1
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xdc], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0x44]
mov dword [esp + 0xd0], edx
mov edx, eax
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0xd0]
lea esi, [eax + edi]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.00468df0
mov eax, dword [esp + 0x10c]
mov ecx, dword [eax + 0x70]
mov edx, dword [esp + 0x60]
sub ecx, edx
mov edx, dword [esp + 0x4c]
sub edx, ecx
mov ebx, dword [esp + 0xa0]
sub ebx, ecx
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0xd0]
jmp 0x675e19
cmp ebx, edx
jb 0x6769f4
cmp eax, edx
ja 0x6769ed
lea edx, [esi + edi]
sub ebx, eax
neg ebx
sar ebx, 0x1f
and eax, ebx
add eax, ecx
mov ecx, dword [esp + 0x48]
cmp ecx, edx
jb 0x675d81
mov ebx, dword [esp + 0xe0]
jmp 0x675dd1
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x44]
mov ecx, ebx
mov ebx, edx
mov edx, eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xd0], ebx
lea ebp, [ebx + edi]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00468df0
mov eax, dword [esp + 0x10c]
xor edx, edx
xor ebx, ebx
mov ecx, dword [esp + 0x9c]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0xd0]
mov edi, ecx
mov eax, esi
mov ecx, dword [esp + 0x10c]
mov esi, ebx
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], ebp
mov edx, dword [ecx + 0x88]
sub ebp, edx
test ebp, ebp
jg 0x675e43
mov ebp, dword [esp + 0x4c]
jmp 0x676020
mov dword [esp + 0xd8], eax
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], esi
mov edx, dword [ecx + 0x64]
mov dword [esp + 0xa0], edx
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x60]
sub edx, ebp
cmp esi, ebp
jle 0x675f4e
mov esi, dword [esp + 0xa0]
cmp esi, edx
jb 0x6769e4
mov dword [esp + 0x38], ebp
sub esi, edx
lea ebp, [esi + edi]
sub eax, edx
neg eax
sar eax, 0x1f
and edx, eax
lea eax, [ecx + edx]
cmp ebx, ebp
jb 0x675ea3
mov ecx, dword [esp + 0xd8]
jmp 0x675ef9
mov dword [esp + 0xa0], esi
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x90]
mov ecx, eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xd0], ecx
lea edx, [ecx + edi]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00468df0
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x38]
sub ebp, eax
mov ecx, dword [esp + 0x8c]
sub ecx, eax
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xd0]
jmp 0x67600f
lea ebp, [esi + edx]
cmp eax, ebp
jb 0x6769db
cmp edx, ebp
ja 0x6769d2
lea ebp, [edi + esi]
sub eax, edx
neg eax
sar eax, 0x1f
and edx, eax
lea eax, [ecx + edx]
cmp ebx, ebp
jb 0x675f7d
mov ecx, dword [esp + 0xd8]
jmp 0x675fcc
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov ecx, eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xd0], ecx
lea edx, [ecx + edi]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00468df0
xor ecx, ecx
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xd0]
mov esi, ecx
mov edi, edx
mov ecx, dword [esp + 0x10c]
mov edx, ebx
mov ebx, eax
mov eax, edx
test esi, esi
jle 0x676180
mov dword [esp + 0xd4], eax
mov edx, dword [ecx + 0x88]
mov dword [esp + 0xa0], edx
sub edx, ebp
mov ebp, dword [esp + 0xa0]
sub ebp, edx
cmp esi, ebp
jle 0x6760a3
lea ebp, [esi + edi]
cmp ebx, ebp
jb 0x6769c9
lea ecx, [edx + esi]
cmp ebx, ecx
jb 0x6769c2
cmp edx, ecx
ja 0x6769bb
mov ecx, ebx
sub ebx, edx
neg ebx
sar ebx, 0x1f
and ebx, edx
add ebx, eax
cmp edi, ebp
ja 0x6769b2
mov edx, ecx
sub edx, edi
mov dword [esp + 0x5c], edx
neg edx
sar edx, 0x1f
and edx, edi
lea edi, [edx + eax]
mov edx, dword [esp + 0x5c]
cmp esi, edx
ja 0x6769ab
xor edx, edx
jmp 0x67699a
mov ebp, dword [ecx + 0x8c]
lea eax, [edx + esi]
cmp ebp, eax
jb 0x676982
cmp edx, eax
ja 0x676979
mov eax, dword [ecx + 0x84]
lea ecx, [esi + edi]
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edx
add eax, ebp
cmp ebx, ecx
jb 0x6760e1
mov edx, dword [esp + 0xd4]
jmp 0x67613e
mov dword [esp + 0x88], edi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x88]
mov edx, eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xd0], edx
lea ebp, [edx + edi]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00468df0
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xd0]
jmp 0x676967
mov dword [ecx + 0x88], edi
mov dword [ecx + 0x8c], ebx
mov ebx, dword [0x9eca70]
test ebx, ebx
jne 0x67619e
mov ebx, dword [esp + 0x58]
test ebx, ebx
jmp 0x6761b4
call fcn.00468460
mov dword [edi], eax
mov ebx, dword [ecx + 0x84]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x58]
test ebx, ebx
mov dword [ecx + 0x84], eax
je 0x676857
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
lea edi, [esi + ebp]
mov eax, ebx
mov ebx, dword [esp + 0x6c]
lea edx, [edi + ebx]
test dl, dl
jne 0x676242
mov edi, dword [esp + 0x70]
shl edi, 0x10
shr ebp, 0x10
or edi, ebp
and edi, 0x1ff
mov ebp, dword [esp + 0xec]
lea edi, [ebp + edi*8]
mov ebp, dword [esp + 0x74]
shl ebp, 0x10
shr esi, 0x10
or ebp, esi
and ebp, 0x1ff
mov esi, dword [esp + 0xe8]
lea ebp, [esi + ebp*8]
mov esi, dword [esp + 0x78]
shl esi, 0x10
shr ebx, 0x10
or esi, ebx
and esi, 0x1ff
mov ebx, dword [esp + 0xe4]
lea esi, [ebx + esi*8]
mov ebx, dword [edi]
mov edi, dword [edi + 4]
mov edx, dword [ebp]
mov ebp, dword [ebp + 4]
mov ecx, dword [esi]
mov esi, dword [esi + 4]
jmp 0x6752c5
lea ecx, [ebx + esi]
mov byte [esp + 0x31], cl
and esi, 0xf
mov dword [esp + 0xa0], esi
and ebx, 0xf
mov dword [esp + 0x9c], ebx
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xb4], ecx
mov ebx, dword [eax + 0x14]
mov esi, dword [esp + 0x6c]
lea edi, [edi + esi - 0x40]
xchg edi, ebx
neg ebx
xchg edi, ebx
and edi, 0x3f
xchg edi, eax
mov byte [esp + 0x30], al
xchg edi, eax
add edi, 0xffffffe0
xchg edi, eax
mov byte [esp + 0x2f], al
xchg edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x2e], al
xchg edi, eax
movzx edi, byte [eax + 0x18]
xchg edi, eax
mov byte [esp + 0x2d], al
xchg edi, eax
and edi, 0x3f
xchg edi, eax
mov byte [esp + 0x2c], al
xchg edi, eax
mov ecx, edi
shl ebx, cl
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0xb4]
shl ebx, cl
mov dword [esp + 0xac], ebx
lea ebx, [ecx - 0x20]
mov ecx, ebx
mov edi, dword [esp + 0xb4]
shl edi, cl
mov dword [esp + 0xa8], edi
neg ecx
mov edi, dword [esp + 0xb4]
shr edi, cl
mov dword [esp + 0xb4], edi
movzx edi, byte [esp + 0x2d]
add edx, edi
shr ebp, 0x10
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, ebp
mov dword [esp + 0xa4], edi
mov ebp, dword [esp + 0x74]
shl ebp, 0x10
mov edi, dword [esp + 0x68]
shr edi, 0x10
or ebp, edi
mov dword [esp + 0x84], ebp
mov edi, esi
shr esi, 0x10
mov ebp, dword [esp + 0x78]
shl ebp, 0x10
or ebp, esi
mov dword [esp + 0x80], ebp
nop
mov byte [eax + 0x18], dl
mov edx, dword [esp + 0xa0]
lea esi, [0x9ecc60]
movzx edx, word [esi + edx*2]
mov eax, dword [esp + 0x9c]
movzx eax, word [esi + eax*2]
mov word [esp + 0x32], ax
cmp bl, 0x20
sbb ebx, ebx
mov esi, dword [esp + 0xa8]
and esi, ebx
cmp cl, 0x20
sbb ecx, ecx
mov ebx, dword [esp + 0xb4]
and ebx, ecx
movzx ecx, byte [esp + 0x2c]
cmp cl, 0x20
sbb ecx, ecx
mov ebp, dword [esp + 0xac]
and ebp, ecx
mov eax, dword [esp + 0xb0]
and eax, ecx
or ebx, eax
or ebx, esi
movzx ecx, byte [esp + 0x2e]
mov eax, ebx
shl ebx, cl
mov esi, ecx
movzx ecx, byte [esp + 0x2f]
shr eax, cl
movzx ecx, byte [esp + 0x30]
shr ebp, cl
cmp cl, 0x20
sbb ecx, ecx
and ebp, ecx
movzx ecx, byte [esp + 0x2f]
cmp cl, 0x20
sbb ecx, ecx
and eax, ecx
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ecx, ecx
and ecx, ebx
or ebp, ecx
or eax, ebp
movzx ecx, byte [esp + 0x31]
mov ebx, eax
sar eax, cl
mov ecx, dword [esp + 0xa4]
add eax, ecx
and eax, 0x1ff
mov ecx, dword [esp + 0xec]
lea eax, [ecx + eax*8]
mov ecx, edi
mov esi, ebx
sar ebx, cl
and ebx, edx
mov ecx, dword [esp + 0x84]
add ecx, ebx
and ecx, 0x1ff
mov edx, dword [esp + 0xe8]
lea ecx, [edx + ecx*8]
movzx ebx, word [esp + 0x32]
and esi, ebx
mov ebx, dword [esp + 0x80]
add ebx, esi
and ebx, 0x1ff
mov esi, dword [esp + 0xe4]
lea ebx, [esi + ebx*8]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [ebx]
mov ebx, dword [ebx + 4]
mov ebp, ecx
mov ecx, edx
mov edx, esi
mov esi, ebx
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0x58]
jmp 0x6752c5
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp], esi
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
lea eax, [0x742b48]
mov dword [esp], eax
mov dword [esp + 4], 0x23
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c3fd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], eax
lea eax, [0x74b4aa]
mov dword [esp], eax
mov dword [esp + 4], 0x32
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c3fd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp], ebp
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], eax
lea eax, [0x74b4aa]
mov dword [esp], eax
mov dword [esp + 4], 0x32
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c3fd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp], edx
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
lea eax, [0x748a3e]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c3fd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
lea eax, [0x744b4e]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c3fd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
mov dword [esp + 0xbc], edi
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp], ecx
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], eax
lea eax, [0x7516f7]
mov dword [esp], eax
mov dword [esp + 4], 0x41
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c3fd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
mov eax, dword [0x9a3bd8]
mov ecx, dword [0x9a3bdc]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
add esp, 0x108
ret
mov eax, dword [esp + 0x10c]
mov ecx, dword [eax + 0x8c]
mov edx, dword [eax + 0x88]
mov ebx, dword [eax + 0x7c]
lea ebp, [ebx + edx]
mov esi, dword [eax + 0x84]
mov edi, dword [eax + 0x78]
cmp ecx, ebp
jae 0x6768d1
mov dword [esp + 0xe0], edi
mov dword [esp + 0xbc], edx
mov dword [esp + 0xa0], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xa0]
mov edi, dword [esp + 0xe0]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xa0], ebp
mov dword [esp + 0xe0], esi
lea eax, [esi + edx]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
call fcn.00468df0
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0xbc]
mov dword [ecx + 0x8c], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x67692d
mov eax, dword [esp + 0xe0]
jmp 0x676944
call fcn.00468460
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
mov edx, dword [ecx + 0x84]
mov dword [edi + 4], edx
mov dword [ecx + 0x84], eax
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
add esp, 0x108
ret
mov ebx, eax
mov edi, ecx
mov eax, edx
mov ecx, dword [esp + 0x10c]
jmp 0x676180
mov ecx, eax
mov eax, edx
call fcn.00468520
mov ecx, eax
mov edx, ebp
call fcn.00468500
movzx eax, byte [ebx + edx]
mov byte [edi + edx], al
inc edx
mov eax, dword [esp + 0xd4]
cmp edx, esi
jl 0x67698b
mov eax, ecx
mov ecx, ebp
mov edx, dword [esp + 0xd4]
jmp 0x676967
mov ecx, esi
call fcn.00468500
mov eax, edi
mov ecx, ebp
call fcn.00468520
mov eax, edx
call fcn.00468520
mov edx, ebx
call fcn.00468500
mov ecx, ebp
mov edx, ebx
call fcn.00468500
mov eax, edx
mov ecx, ebp
call fcn.00468520
mov ecx, ebp
mov edx, eax
call fcn.00468500
mov eax, edx
mov ecx, esi
call fcn.00468520
mov ecx, edx
call fcn.00468520
mov ecx, edx
mov edx, ebx
call fcn.00468500
mov ecx, ebp
call fcn.00468520
mov edx, ebp
call fcn.00468500
mov ecx, eax
call fcn.00468500
call fcn.0044df20
mov ecx, 4
mov edx, edi
call fcn.00468500
mov eax, ebp
mov ecx, edi
call fcn.00468530
mov ecx, 3
call fcn.004684c0
mov ecx, 4
mov edx, eax
call fcn.00468500
mov ecx, eax
mov eax, ebp
call fcn.00468530
mov ecx, 4
mov edx, esi
call fcn.00468500
mov ecx, ebp
call fcn.00468530
nop
call fcn.00467050
jmp fcn.00675250