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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x63d6f6
sub esp, 0xa0
mov edx, dword [esp + 0xa4]
mov eax, dword [edx + 0x60c]
mov ecx, dword [edx + 0x604]
cmp eax, ecx
ja 0x63d6f0
lea ebx, [edx + 0x610]
mov dword [esp + 0x54], ebx
mov ebp, dword [edx + 0x600]
mov esi, dword [edx + 0x608]
mov dword [esp], ebx
sub esi, eax
sub ecx, eax
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
add eax, ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.00635e30
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.004686fb
lea edi, [esp + 0x78]
call fcn.004686fb
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x668]
mov edx, dword [eax + 0x66c]
mov ebx, dword [eax + 0x670]
movzx ebp, byte [eax + 0x68a]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x90], ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x63bcff
movzx ebx, byte [eax + 0x628]
cmp bl, 0x40
jb 0x63bd06
xor ebx, ebx
jmp 0x63bddd
mov esi, dword [eax + 0x620]
mov dword [esp + 0x4c], esi
mov edi, dword [eax + 0x624]
mov edx, ebx
and ebx, 0x3f
mov byte [esp + 0x31], bl
mov ecx, ebx
shl esi, cl
mov dword [esp + 0x48], esi
shl edi, cl
mov dword [esp + 0x44], edi
lea edi, [ecx - 0x20]
mov ecx, edi
mov esi, dword [esp + 0x4c]
shl esi, cl
mov dword [esp + 0x40], esi
neg ecx
mov ebx, dword [esp + 0x4c]
shr ebx, cl
lea esi, [ebp - 0x40]
xchg esi, ebx
neg ebx
xchg esi, ebx
and esi, 0x3f
xchg esi, eax
mov byte [esp + 0x30], al
xchg esi, eax
add esi, 0xffffffe0
xchg esi, eax
mov byte [esp + 0x2f], al
xchg esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
add ebp, edx
nop
xchg ebp, ebx
mov byte [eax + 0x628], bl
xchg ebp, ebx
cmp cl, 0x20
sbb ebp, ebp
and ebx, ebp
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebp, ebp
mov edi, dword [esp + 0x40]
and edi, ebp
movzx ebp, byte [esp + 0x31]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov ecx, esi
mov esi, dword [esp + 0x48]
and esi, ebp
mov edx, esi
mov esi, dword [esp + 0x44]
and esi, ebp
or esi, ebx
or edi, esi
mov ebx, edi
shl edi, cl
mov ebp, ecx
movzx ecx, byte [esp + 0x2f]
shr ebx, cl
mov esi, ecx
movzx ecx, byte [esp + 0x30]
shr edx, cl
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and ebx, esi
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and edi, ebp
cmp cl, 0x20
sbb ebp, ebp
and edx, ebp
or edx, edi
or ebx, edx
mov ecx, dword [esp + 0x54]
mov word [esp + 0x8c], bx
mov ebx, dword [eax + 0x668]
mov ebp, dword [eax + 0x66c]
mov esi, dword [eax + 0x670]
movzx edi, byte [eax + 0x68a]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], esi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x63be29
movzx ebx, byte [eax + 0x628]
cmp bl, 0x40
jb 0x63be30
xor ebp, ebp
jmp 0x63bf10
mov ebp, dword [eax + 0x620]
mov dword [esp + 0x4c], ebp
mov esi, dword [eax + 0x624]
mov edx, ebx
and ebx, 0x3f
mov ecx, ebx
shl esi, cl
mov dword [esp + 0x48], esi
shl ebp, cl
mov dword [esp + 0x44], ebp
lea esi, [ecx - 0x20]
xchg esi, eax
mov byte [esp + 0x31], al
xchg esi, eax
mov ecx, esi
mov ebp, dword [esp + 0x4c]
shl ebp, cl
mov dword [esp + 0x40], ebp
neg ecx
mov ebp, dword [esp + 0x4c]
shr ebp, cl
lea esi, [edi - 0x40]
xchg esi, ebx
neg ebx
xchg esi, ebx
and esi, 0x3f
xchg esi, eax
mov byte [esp + 0x30], al
xchg esi, eax
add esi, 0xffffffe0
xchg esi, eax
mov byte [esp + 0x2f], al
xchg esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
add edi, edx
nop
xchg edi, ebx
mov byte [eax + 0x628], bl
xchg edi, ebx
cmp cl, 0x20
sbb edi, edi
and ebp, edi
cmp bl, 0x20
sbb ebx, ebx
mov edi, dword [esp + 0x44]
and edi, ebx
mov ecx, esi
mov esi, dword [esp + 0x48]
and esi, ebx
or esi, ebp
mov edx, ecx
movzx ecx, byte [esp + 0x30]
shr edi, cl
mov dword [esp + 0x4c], edi
movzx ebx, byte [esp + 0x31]
cmp bl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x40]
and ebp, ebx
or ebp, esi
mov ebx, ecx
movzx ecx, byte [esp + 0x2f]
mov esi, ebp
shr ebp, cl
mov ecx, edx
shl esi, cl
movzx edi, byte [esp + 0x2f]
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
and ebp, edi
cmp cl, 0x20
sbb edi, edi
and esi, edi
cmp bl, 0x20
sbb ebx, ebx
mov edi, dword [esp + 0x4c]
and edi, ebx
or edi, esi
or ebp, edi
mov ecx, dword [esp + 0x54]
mov word [esp + 0x78], bp
mov edx, dword [eax + 0x64c]
cmp edx, 0x100
jb 0x63d6e6
mov dword [esp + 0x34], edx
movzx ebx, byte [eax + 0x68b]
mov ebp, dword [eax + 0x644]
mov dword [esp + 0x50], ebp
test bl, bl
je 0x63bf47
xor ebx, ebx
jmp 0x63cef2
xor ebx, ebx
jmp 0x63bf5f
add ebx, 4
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov ebp, esi
mov esi, dword [eax + 0x61c]
cmp esi, 8
jb 0x63c6f5
nop
cmp byte [eax + 0x628], 0x20
jb 0x63bfe4
mov edi, dword [eax + 0x614]
lea ecx, [esi - 4]
cmp edi, ecx
jb 0x63ced7
mov edi, dword [eax + 0x618]
sub edi, esi
lea esi, [edi + 4]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
cmp edi, 4
jb 0x63cecb
mov esi, dword [eax + 0x610]
mov esi, dword [esi + ecx]
mov edi, dword [eax + 0x620]
mov dword [eax + 0x620], esi
mov dword [eax + 0x624], edi
movzx esi, byte [eax + 0x628]
add esi, 0xffffffe0
xchg esi, ebx
mov byte [eax + 0x628], bl
xchg esi, ebx
add dword [eax + 0x61c], 0xfffffffc
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x98]
movzx edi, word [esp + 0x8c]
cmp esi, edi
jbe 0x63cec2
mov byte [esp + 0x28], bl
movzx esi, bl
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x94]
lea edi, [ecx + edi*4]
movzx ecx, byte [edi + 3]
mov byte [esp + 0x31], cl
movzx edx, word [edi]
mov word [esp + 0x32], dx
movzx edi, byte [edi + 2]
xchg edi, eax
mov byte [esp + 0x30], al
xchg edi, eax
mov eax, dword [esp + 0x90]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x4c], ebx
mov ebp, dword [eax + 0x14]
lea esi, [ecx - 0x40]
xchg esi, ebx
neg ebx
xchg esi, ebx
and esi, 0x3f
xchg esi, eax
mov byte [esp + 0x2f], al
xchg esi, eax
lea edi, [esi - 0x20]
xchg edi, eax
mov byte [esp + 0x2e], al
xchg edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x2d], al
xchg edi, eax
movzx edx, byte [eax + 0x18]
mov byte [esp + 0x2c], dl
and edx, 0x3f
mov ecx, edx
shl ebp, cl
shl ebx, cl
lea edi, [ecx - 0x20]
xchg edi, eax
mov byte [esp + 0x2b], al
xchg edi, eax
mov ecx, edi
mov esi, dword [esp + 0x4c]
shl esi, cl
mov dword [esp + 0x48], esi
neg ecx
mov esi, dword [esp + 0x4c]
shr esi, cl
mov dword [esp + 0x4c], esi
movzx esi, byte [esp + 0x2c]
movzx edi, byte [esp + 0x31]
add esi, edi
xchg esi, ebx
mov byte [eax + 0x18], bl
xchg esi, ebx
cmp dl, 0x20
sbb esi, esi
and ebx, esi
and ebp, esi
mov eax, ecx
movzx ecx, byte [esp + 0x2f]
shr ebx, cl
movzx esi, byte [esp + 0x2b]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
mov edi, dword [esp + 0x48]
and edi, esi
cmp al, 0x20
sbb esi, esi
mov eax, ebx
mov ebx, dword [esp + 0x4c]
and ebx, esi
or ebp, ebx
or edi, ebp
mov edx, ecx
movzx ecx, byte [esp + 0x2e]
mov ebx, edi
shr edi, cl
mov ebp, ecx
movzx ecx, byte [esp + 0x2d]
shl ebx, cl
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and edi, ebp
cmp cl, 0x20
sbb ebp, ebp
and ebx, ebp
cmp dl, 0x20
sbb ebp, ebp
and eax, ebp
or eax, ebx
or eax, edi
movzx ebx, word [esp + 0x32]
add ebx, eax
mov word [esp + 0x8c], bx
mov ebx, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x30]
mov esi, dword [esp + 0x50]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
mov ecx, dword [esp + 0x84]
movzx eax, word [esp + 0x78]
cmp ecx, eax
jbe 0x63cebd
movzx ebx, byte [esp + 0x28]
lea ebp, [ebx + 1]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov dword [esp + 0x3c], ebp
mov edi, dword [esp + 0x80]
lea edi, [edi + eax*4]
movzx eax, byte [edi + 3]
movzx ecx, word [edi]
mov word [esp + 0x32], cx
movzx edi, byte [edi + 2]
xchg edi, eax
mov byte [esp + 0x31], al
xchg edi, eax
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x4c], ebx
mov ebp, dword [edx + 0x14]
lea esi, [eax - 0x40]
xchg esi, ebx
neg ebx
xchg esi, ebx
and esi, 0x3f
xchg esi, eax
mov byte [esp + 0x30], al
xchg esi, eax
lea edi, [esi - 0x20]
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 ecx, byte [edx + 0x18]
mov byte [esp + 0x2d], cl
and ecx, 0x3f
mov byte [esp + 0x2c], cl
shl ebx, cl
shl ebp, cl
lea edi, [ecx - 0x20]
xchg edi, eax
mov byte [esp + 0x2b], al
xchg edi, eax
mov ecx, edi
mov esi, dword [esp + 0x4c]
shl esi, cl
mov dword [esp + 0x48], esi
neg ecx
mov esi, dword [esp + 0x4c]
shr esi, cl
movzx edi, byte [esp + 0x2d]
add edi, eax
xchg edi, eax
mov byte [edx + 0x18], al
xchg edi, eax
cmp cl, 0x20
sbb edi, edi
and esi, edi
movzx edi, byte [esp + 0x2c]
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
and ebx, edi
and ebp, edi
or ebp, esi
movzx ecx, byte [esp + 0x30]
shr ebx, cl
movzx esi, byte [esp + 0x2b]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
mov edi, dword [esp + 0x48]
and edi, esi
or edi, ebp
mov eax, ecx
movzx ecx, byte [esp + 0x2e]
mov ebp, edi
shl edi, cl
mov edx, ecx
movzx ecx, byte [esp + 0x2f]
shr ebp, cl
cmp cl, 0x20
sbb esi, esi
and ebp, esi
cmp al, 0x20
sbb esi, esi
and ebx, esi
cmp dl, 0x20
sbb esi, esi
and edi, esi
or ebx, edi
or ebx, ebp
movzx ebp, word [esp + 0x32]
add ebx, ebp
mov word [esp + 0x78], bx
mov ebx, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x31]
mov esi, dword [esp + 0x50]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
nop
mov ebx, dword [esp + 0xa4]
cmp byte [ebx + 0x628], 0x20
jb 0x63c2df
mov ecx, dword [ebx + 0x614]
mov ebp, dword [ebx + 0x61c]
lea eax, [ebp - 4]
cmp ecx, eax
jb 0x63ceb8
mov edi, dword [ebx + 0x618]
sub edi, ebp
lea edx, [edi + 4]
mov ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
cmp edx, 4
jb 0x63ceae
mov ebp, dword [ebx + 0x610]
mov ebp, dword [ebp + eax]
mov edi, dword [ebx + 0x620]
mov dword [ebx + 0x620], ebp
mov dword [ebx + 0x624], edi
movzx ebp, byte [ebx + 0x628]
add ebp, 0xffffffe0
xchg ebp, eax
mov byte [ebx + 0x628], al
xchg ebp, eax
add dword [ebx + 0x61c], 0xfffffffc
mov ecx, dword [esp + 0x98]
movzx eax, word [esp + 0x8c]
cmp ecx, eax
jbe 0x63cea9
movzx ebp, byte [esp + 0x28]
lea edi, [ebp + 2]
xchg edi, eax
movzx eax, al
xchg edi, eax
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x94]
lea eax, [ecx + eax*4]
movzx ecx, byte [eax + 3]
mov byte [esp + 0x31], cl
movzx edx, word [eax]
mov word [esp + 0x32], dx
movzx eax, byte [eax + 2]
mov byte [esp + 0x30], al
mov ebx, dword [esp + 0x90]
mov ebp, dword [ebx + 0x10]
mov dword [esp + 0x4c], ebp
mov eax, dword [ebx + 0x14]
movzx esi, byte [ebx + 0x18]
xchg esi, eax
mov byte [esp + 0x2f], al
xchg esi, eax
and esi, 0x3f
xchg esi, eax
mov byte [esp + 0x2e], al
xchg esi, eax
mov ecx, esi
shl ebp, cl
mov dword [esp + 0x48], ebp
shl eax, cl
lea edi, [ecx - 0x20]
mov ecx, edi
mov ebp, dword [esp + 0x4c]
shl ebp, cl
mov dword [esp + 0x44], ebp
neg ecx
mov byte [esp + 0x2d], cl
mov esi, dword [esp + 0x4c]
shr esi, cl
mov dword [esp + 0x4c], esi
movzx esi, byte [esp + 0x31]
lea edx, [esi - 0x40]
neg edx
and edx, 0x3f
lea ecx, [edx - 0x20]
mov byte [esp + 0x31], cl
neg ecx
movzx ebp, byte [esp + 0x2f]
add ebp, esi
xchg ebp, eax
mov byte [ebx + 0x18], al
xchg ebp, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebx, ebx
mov ebp, dword [esp + 0x44]
and ebp, ebx
movzx ebx, byte [esp + 0x2e]
cmp bl, 0x20
sbb ebx, ebx
and eax, ebx
mov esi, dword [esp + 0x48]
and esi, ebx
mov ebx, ecx
mov ecx, edx
shr esi, cl
mov dword [esp + 0x48], esi
movzx edi, byte [esp + 0x2d]
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
mov esi, dword [esp + 0x4c]
and esi, edi
or eax, esi
or ebp, eax
movzx ecx, byte [esp + 0x31]
mov esi, ebp
shr ebp, cl
mov eax, ecx
mov ecx, ebx
shl esi, cl
cmp cl, 0x20
sbb ebx, ebx
and esi, ebx
cmp dl, 0x20
sbb ebx, ebx
mov edi, dword [esp + 0x48]
and edi, ebx
or esi, edi
cmp al, 0x20
sbb ebx, ebx
and ebp, ebx
or esi, ebp
movzx ebx, word [esp + 0x32]
add ebx, esi
mov word [esp + 0x8c], bx
mov ebx, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x30]
mov esi, dword [esp + 0x50]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
mov ecx, dword [esp + 0x84]
movzx eax, word [esp + 0x78]
cmp ecx, eax
jbe 0x63cea4
movzx ebx, byte [esp + 0x28]
lea ebp, [ebx + 3]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov dword [esp + 0x3c], ebp
mov edi, dword [esp + 0x80]
lea edi, [edi + eax*4]
movzx eax, byte [edi + 3]
movzx ecx, word [edi]
mov word [esp + 0x32], cx
movzx edi, byte [edi + 2]
xchg edi, eax
mov byte [esp + 0x31], al
xchg edi, eax
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x4c], ebx
mov ebp, dword [edx + 0x14]
movzx esi, byte [edx + 0x18]
xchg esi, eax
mov byte [esp + 0x30], al
xchg esi, eax
and esi, 0x3f
xchg esi, eax
mov byte [esp + 0x2f], al
xchg esi, eax
mov ecx, esi
shl ebx, cl
mov dword [esp + 0x48], ebx
shl ebp, cl
mov dword [esp + 0x44], ebp
lea edi, [ecx - 0x20]
mov ecx, edi
mov ebp, dword [esp + 0x4c]
shl ebp, cl
neg ecx
mov ebx, dword [esp + 0x4c]
shr ebx, cl
lea esi, [eax - 0x40]
xchg esi, ebx
neg ebx
xchg esi, ebx
and esi, 0x3f
xchg esi, eax
mov byte [esp + 0x2e], al
xchg esi, eax
add esi, 0xffffffe0
xchg esi, eax
mov byte [esp + 0x2d], al
xchg esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
xchg esi, eax
mov byte [esp + 0x2c], al
xchg esi, eax
movzx esi, byte [esp + 0x30]
add esi, eax
xchg esi, eax
mov byte [edx + 0x18], al
xchg esi, eax
cmp cl, 0x20
sbb esi, esi
and ebx, esi
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb esi, esi
and ebp, esi
movzx esi, byte [esp + 0x2f]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
mov edi, dword [esp + 0x48]
and edi, esi
mov eax, edi
mov edi, dword [esp + 0x44]
and edi, esi
or edi, ebx
or ebp, edi
movzx ecx, byte [esp + 0x2c]
mov ebx, ebp
shl ebp, cl
mov edx, ecx
movzx ecx, byte [esp + 0x2d]
shr ebx, cl
mov esi, ecx
movzx ecx, byte [esp + 0x2e]
shr eax, cl
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and ebx, esi
cmp cl, 0x20
sbb esi, esi
and eax, esi
cmp dl, 0x20
sbb esi, esi
and ebp, esi
or eax, ebp
or eax, ebx
movzx ebx, word [esp + 0x32]
add ebx, eax
mov word [esp + 0x78], bx
mov ebx, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x31]
mov esi, dword [esp + 0x50]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
movzx ebx, byte [esp + 0x28]
cmp bl, 0xfc
jne 0x63bf4b
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x680]
mov edx, dword [eax + 0x67c]
lea ebp, [edx + 0x100]
mov edi, dword [eax + 0x678]
cmp ecx, ebp
jae 0x63c5cb
mov dword [esp + 0x3c], edx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x100
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x64], edi
lea eax, [edi + edx]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], 0x100
call fcn.00468df0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xa4]
mov dword [ecx + 0x67c], eax
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x680], edx
mov edx, dword [0x9eca70]
test edx, edx
jne 0x63c619
mov ebx, dword [esp + 0x64]
jmp 0x63c62d
call fcn.00468460
mov ebx, dword [esp + 0x64]
mov dword [edi], ebx
mov ebp, dword [ecx + 0x678]
mov dword [edi + 4], ebp
mov dword [ecx + 0x678], ebx
cmp dword [ecx + 0x684], eax
jle 0x63c649
movzx ebx, byte [esp + 0x28]
mov esi, dword [esp + 0x50]
jmp 0x63bf4b
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x684]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x745727]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x68]
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 + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0xa0
ret
movzx ebx, bl
cmp edx, ebx
jb 0x63ce9d
mov edx, dword [eax + 0x680]
mov esi, dword [eax + 0x67c]
lea edi, [esi + ebx]
mov ecx, dword [eax + 0x678]
cmp edx, edi
jae 0x63c757
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], esi
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x64], ecx
lea eax, [ecx + esi]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00468df0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xa4]
mov dword [ecx + 0x67c], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x680], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x63c7a1
mov edx, dword [esp + 0x64]
jmp 0x63c7b5
call fcn.00468460
mov edx, dword [esp + 0x64]
mov dword [edi], edx
mov ebx, dword [ecx + 0x678]
mov dword [edi + 4], ebx
mov dword [ecx + 0x678], edx
mov edx, dword [esp + 0x54]
jmp 0x63c7c7
mov edx, dword [esp + 0x54]
mov ecx, ebx
mov ebx, dword [esp + 0x90]
cmp byte [ebx + 0x18], 0x40
jb 0x63c80b
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x63c80b
mov ebx, dword [esp + 0x98]
movzx eax, word [esp + 0x8c]
cmp ebx, eax
jbe 0x63ce96
mov ebx, dword [esp + 0x94]
lea ebp, [ebx + eax*4 + 3]
movzx ebp, byte [ebp]
xchg ebp, eax
test al, al
xchg ebp, eax
ja 0x63cbd8
mov dword [esp], edx
call fcn.00636070
mov ecx, dword [esp + 0x98]
movzx eax, word [esp + 0x8c]
cmp ecx, eax
jbe 0x63ce8a
mov edx, dword [esp + 0x94]
lea ebx, [edx + eax*4 + 3]
movzx ebx, byte [ebx]
test bl, bl
je 0x63c84c
mov ebp, dword [esp + 0x90]
movzx ecx, byte [ebp + 0x18]
cmp cl, 0x40
jb 0x63c853
xor edi, edi
jmp 0x63c932
mov dword [esp + 0x3c], eax
mov dword [esp + 0x60], edx
mov byte [esp + 0x31], cl
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x4c], esi
mov edi, dword [ebp + 0x14]
and ecx, 0x3f
mov byte [esp + 0x30], cl
shl esi, cl
mov dword [esp + 0x48], esi
shl edi, cl
mov dword [esp + 0x44], edi
lea eax, [ecx - 0x20]
mov byte [esp + 0x2f], al
mov ecx, eax
mov edx, dword [esp + 0x4c]
shl edx, cl
neg eax
mov ecx, eax
mov esi, dword [esp + 0x4c]
shr esi, cl
lea edi, [ebx - 0x40]
xchg edi, ebx
neg ebx
xchg edi, ebx
and edi, 0x3f
xchg edi, eax
mov byte [esp + 0x2e], al
xchg edi, eax
add edi, 0xffffffe0
xchg edi, eax
mov byte [esp + 0x2d], al
xchg edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x2c], al
xchg edi, eax
movzx edi, byte [esp + 0x31]
add ebx, edi
nop
mov byte [ebp + 0x18], bl
movzx ebx, byte [esp + 0x2f]
cmp bl, 0x20
sbb ebx, ebx
and edx, ebx
cmp al, 0x20
sbb ebx, ebx
and esi, ebx
movzx ebx, byte [esp + 0x30]
cmp bl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x44]
and ebp, ebx
mov edi, dword [esp + 0x48]
and edi, ebx
or ebp, esi
or edx, ebp
movzx ecx, byte [esp + 0x2c]
mov ebx, edx
shl edx, cl
mov eax, ecx
movzx ecx, byte [esp + 0x2e]
shr edi, cl
mov ebp, ecx
movzx ecx, byte [esp + 0x2d]
shr ebx, cl
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and edi, ebp
cmp al, 0x20
sbb ebp, ebp
and edx, ebp
or edi, edx
cmp cl, 0x20
sbb edx, edx
and ebx, edx
or edi, ebx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
lea ebx, [edx + eax*4]
movzx ebx, word [ebx]
add ebx, edi
mov word [esp + 0x8c], bx
mov ebx, dword [esp + 0xa4]
mov ebp, dword [ebx + 0x680]
mov esi, dword [ebx + 0x67c]
inc esi
lea edx, [edx + eax*4 + 2]
mov edi, dword [ebx + 0x678]
movzx edx, byte [edx]
cmp ebp, esi
jae 0x63c9cf
mov byte [esp + 0x25], dl
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa4]
mov dword [ebx + 0x680], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x63c9c0
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x678]
mov dword [edi + 4], ebp
mov dword [ebx + 0x678], ecx
mov esi, edx
mov edi, ecx
movzx edx, byte [esp + 0x25]
mov dword [ebx + 0x67c], esi
mov byte [esi + edi - 1], dl
mov edx, dword [esp + 0x7c]
movzx ecx, byte [edx + 0x18]
cmp cl, 0x40
jb 0x63ca19
mov ebp, dword [edx + 0xc]
test ebp, ebp
jne 0x63ca19
mov ebp, dword [esp + 0x84]
movzx eax, word [esp + 0x78]
cmp ebp, eax
jbe 0x63ce83
mov ebp, dword [esp + 0x80]
lea esi, [ebp + eax*4 + 3]
movzx esi, byte [esi]
xchg esi, eax
test al, al
xchg esi, eax
ja 0x63cca0
mov ebp, dword [esp + 0x84]
movzx eax, word [esp + 0x78]
cmp ebp, eax
jbe 0x63ce77
mov ebp, dword [esp + 0x80]
lea esi, [ebp + eax*4 + 3]
movzx esi, byte [esi]
xchg esi, eax
test al, al
xchg esi, eax
je 0x63ca46
cmp cl, 0x40
jb 0x63ca4d
xor ecx, ecx
jmp 0x63cb1e
mov dword [esp + 0x3c], eax
mov dword [esp + 0x60], ebp
mov byte [esp + 0x31], cl
mov edi, dword [edx + 0x10]
mov dword [esp + 0x4c], edi
mov ebx, dword [edx + 0x14]
and ecx, 0x3f
mov byte [esp + 0x30], cl
shl edi, cl
shl ebx, cl
mov dword [esp + 0x48], ebx
lea eax, [ecx - 0x20]
mov byte [esp + 0x2f], al
mov ecx, eax
mov ebp, dword [esp + 0x4c]
shl ebp, cl
neg eax
mov ecx, eax
mov ebx, dword [esp + 0x4c]
shr ebx, cl
mov dword [esp + 0x4c], ebx
lea ebx, [esi - 0x40]
neg ebx
and ebx, 0x3f
mov byte [esp + 0x2e], bl
lea eax, [ebx - 0x20]
mov byte [esp + 0x2d], al
neg eax
movzx ebx, byte [esp + 0x31]
add ebx, esi
nop
mov byte [edx + 0x18], bl
movzx edx, byte [esp + 0x2f]
cmp dl, 0x20
sbb edx, edx
and ebp, edx
movzx edx, byte [esp + 0x30]
cmp dl, 0x20
sbb edx, edx
and edi, edx
mov ebx, dword [esp + 0x48]
and ebx, edx
mov edx, ecx
movzx ecx, byte [esp + 0x2e]
shr edi, cl
cmp dl, 0x20
sbb edx, edx
mov esi, dword [esp + 0x4c]
and esi, edx
or ebx, esi
or ebp, ebx
mov edx, ecx
mov ecx, eax
mov ebx, ebp
shl ebp, cl
movzx ecx, byte [esp + 0x2d]
shr ebx, cl
cmp cl, 0x20
sbb esi, esi
and ebx, esi
cmp dl, 0x20
sbb edx, edx
and edi, edx
cmp al, 0x20
sbb edx, edx
and ebp, edx
or ebp, edi
or ebx, ebp
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
mov ecx, ebx
mov ebx, dword [esp + 0xa4]
lea edx, [ebp + eax*4]
movzx edx, word [edx]
add edx, ecx
mov word [esp + 0x78], dx
mov edx, dword [ebx + 0x680]
mov esi, dword [ebx + 0x67c]
inc esi
lea ebp, [ebp + eax*4 + 2]
mov edi, dword [ebx + 0x678]
movzx ebp, byte [ebp]
cmp edx, esi
jae 0x63cbb5
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa4]
mov dword [ebx + 0x680], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x63cba6
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x678]
mov dword [edi + 4], ebp
mov dword [ebx + 0x678], ecx
movzx ebp, byte [esp + 0x22]
mov esi, edx
mov edi, ecx
mov dword [ebx + 0x67c], esi
xchg ebp, eax
mov byte [esi + edi - 1], al
xchg ebp, eax
mov edx, dword [ebx + 0x67c]
cmp dword [ebx + 0x684], edx
jg 0x63c7c1
jmp 0x63cdcb
lea edx, [ebx + eax*4 + 2]
mov ebx, dword [esp + 0x84]
movzx eax, word [esp + 0x78]
movzx edx, byte [edx]
cmp ebx, eax
jbe 0x63ce8f
mov ebx, dword [ecx + 0x680]
mov ebp, dword [ecx + 0x67c]
add ebp, 2
mov esi, dword [esp + 0x80]
lea eax, [esi + eax*4 + 2]
mov esi, dword [ecx + 0x678]
movzx eax, byte [eax]
cmp ebx, ebp
jae 0x63cc8d
mov byte [esp + 0x27], dl
mov byte [esp + 0x26], al
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa4]
mov dword [ebx + 0x680], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x63cc77
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x678]
mov dword [edi + 4], eax
mov dword [ebx + 0x678], ecx
movzx eax, byte [esp + 0x26]
mov ebp, edx
mov esi, ecx
mov ecx, ebx
movzx edx, byte [esp + 0x27]
mov dword [ecx + 0x67c], ebp
mov byte [ebp + esi - 2], dl
mov byte [ebp + esi - 1], al
jmp 0x63cd66
lea edx, [ebp + eax*4 + 2]
mov ecx, dword [esp + 0x98]
movzx eax, word [esp + 0x8c]
movzx edx, byte [edx]
cmp ecx, eax
jbe 0x63ce7e
mov ecx, dword [ebx + 0x680]
mov ebp, dword [ebx + 0x67c]
add ebp, 2
mov esi, dword [esp + 0x94]
lea eax, [esi + eax*4 + 2]
mov esi, dword [ebx + 0x678]
movzx eax, byte [eax]
cmp ecx, ebp
jae 0x63cd56
mov byte [esp + 0x24], dl
mov byte [esp + 0x23], al
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa4]
mov dword [ebx + 0x680], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x63cd42
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x678]
mov dword [edi + 4], eax
mov dword [ebx + 0x678], ecx
movzx eax, byte [esp + 0x23]
mov ebp, edx
mov esi, ecx
movzx edx, byte [esp + 0x24]
mov dword [ebx + 0x67c], ebp
mov byte [ebp + esi - 2], dl
mov byte [ebp + esi - 1], al
mov ecx, ebx
mov dword [ecx + 0x614], 0
mov dword [ecx + 0x618], 0
mov eax, dword [0x9eca70]
test eax, eax
je 0x63cd91
mov eax, dword [ecx + 0x610]
call fcn.00468450
mov dword [edi], eax
mov dword [ecx + 0x610], 0
cmp byte [ecx + 0x628], 0x40
jbe 0x63cdb2
mov eax, dword [0x9a3bd8]
mov ecx, dword [0x9a3bdc]
jmp 0x63cdb6
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0xa0
ret
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp], edx
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x684]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x745727]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x68]
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 + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0xa0
ret
mov ecx, ebp
call fcn.004684c0
call fcn.004684c0
mov ecx, ebp
call fcn.004684c0
call fcn.004684c0
mov ecx, ebx
call fcn.004684c0
mov ecx, ebx
call fcn.004684c0
mov ecx, ebx
call fcn.00468500
call fcn.004684c0
call fcn.004684c0
mov ecx, 4
call fcn.00468500
call fcn.00468530
call fcn.004684c0
mov eax, edi
mov ecx, esi
call fcn.004684c0
mov ecx, 4
mov edx, edi
call fcn.00468500
mov eax, ecx
mov ecx, edi
call fcn.00468530
add ebx, 4
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov esi, dword [eax + 0x61c]
cmp esi, 8
jb 0x63c6f5
nop
cmp byte [eax + 0x628], 0x20
jb 0x63cf77
mov edi, dword [eax + 0x614]
lea ecx, [esi - 4]
cmp edi, ecx
jb 0x63d6dd
mov edi, dword [eax + 0x618]
sub edi, esi
lea esi, [edi + 4]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
cmp edi, 4
jb 0x63d6d1
mov esi, dword [eax + 0x610]
mov esi, dword [esi + ecx]
mov edi, dword [eax + 0x620]
mov dword [eax + 0x620], esi
mov dword [eax + 0x624], edi
movzx esi, byte [eax + 0x628]
add esi, 0xffffffe0
xchg esi, ebx
mov byte [eax + 0x628], bl
xchg esi, ebx
add dword [eax + 0x61c], 0xfffffffc
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x98]
movzx edi, word [esp + 0x8c]
cmp esi, edi
jbe 0x63d6c8
mov byte [esp + 0x28], bl
mov esi, dword [esp + 0x94]
lea ecx, [esi + edi*4 + 3]
movzx ecx, byte [ecx]
test cl, cl
je 0x63cfbf
mov edx, dword [esp + 0x90]
movzx eax, byte [edx + 0x18]
cmp al, 0x40
jb 0x63cfc6
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x34]
xor ecx, ecx
jmp 0x63d0af
mov dword [esp + 0x3c], edi
mov dword [esp + 0x60], esi
mov byte [esp + 0x2a], cl
mov byte [esp + 0x31], al
mov ebp, dword [edx + 0x10]
mov dword [esp + 0x4c], ebp
mov esi, dword [edx + 0x14]
and eax, 0x3f
mov byte [esp + 0x30], al
mov ecx, eax
shl ebp, cl
mov dword [esp + 0x48], ebp
shl esi, cl
mov dword [esp + 0x44], esi
lea edi, [eax - 0x20]
mov ecx, edi
mov ebx, dword [esp + 0x4c]
shl ebx, cl
neg ecx
mov esi, dword [esp + 0x4c]
shr esi, cl
mov dword [esp + 0x4c], esi
movzx ebp, byte [esp + 0x2a]
lea eax, [ebp - 0x40]
neg eax
and eax, 0x3f
mov byte [esp + 0x2f], al
add eax, 0xffffffe0
mov byte [esp + 0x2e], al
neg eax
movzx esi, byte [esp + 0x31]
add ebp, esi
nop
xchg ebp, eax
mov byte [edx + 0x18], al
xchg ebp, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebp, ebp
and ebx, ebp
cmp cl, 0x20
sbb ebp, ebp
mov esi, dword [esp + 0x4c]
and esi, ebp
movzx ebp, byte [esp + 0x30]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov edi, dword [esp + 0x48]
and edi, ebp
mov ecx, edi
mov edi, dword [esp + 0x44]
and edi, ebp
or edi, esi
or ebx, edi
mov edx, ecx
movzx ecx, byte [esp + 0x2e]
mov ebp, ebx
shr ebx, cl
mov esi, ecx
mov ecx, eax
shl ebp, cl
movzx ecx, byte [esp + 0x2f]
shr edx, cl
cmp al, 0x20
sbb edi, edi
and ebp, edi
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and ebx, esi
cmp cl, 0x20
sbb esi, esi
and edx, esi
or edx, ebp
or edx, ebx
movzx ebx, byte [esp + 0x28]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x3c]
mov ecx, edx
mov edx, dword [esp + 0x34]
movzx edx, bl
lea eax, [esi + edi*4]
movzx eax, word [eax]
add eax, ecx
mov word [esp + 0x8c], ax
lea esi, [esi + edi*4 + 2]
movzx esi, byte [esi]
xchg esi, eax
mov byte [ebp + edx], al
xchg esi, eax
mov ecx, dword [esp + 0x84]
movzx eax, word [esp + 0x78]
cmp ecx, eax
jbe 0x63d6c3
mov esi, dword [esp + 0x80]
lea edi, [esi + eax*4 + 3]
movzx edi, byte [edi]
xchg edi, eax
test al, al
xchg edi, eax
je 0x63d104
mov ecx, dword [esp + 0x7c]
movzx edx, byte [ecx + 0x18]
cmp dl, 0x40
jb 0x63d10b
xor ecx, ecx
jmp 0x63d1ed
mov dword [esp + 0x60], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x5c], ecx
mov byte [esp + 0x31], dl
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x4c], ebp
mov eax, dword [ecx + 0x14]
and edx, 0x3f
mov ecx, edx
shl ebp, cl
mov dword [esp + 0x48], ebp
shl eax, cl
lea esi, [ecx - 0x20]
mov ecx, esi
mov ebx, dword [esp + 0x4c]
shl ebx, cl
neg ecx
mov byte [esp + 0x30], cl
mov ebp, dword [esp + 0x4c]
shr ebp, cl
mov dword [esp + 0x4c], 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
movzx ebp, byte [esp + 0x31]
add ebp, edi
nop
mov edi, dword [esp + 0x5c]
xchg ebp, eax
mov byte [edi + 0x18], al
xchg ebp, eax
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ebp, ebp
and ebx, ebp
cmp dl, 0x20
sbb ebp, ebp
mov esi, dword [esp + 0x48]
and esi, ebp
and eax, ebp
mov edx, ecx
movzx ecx, byte [esp + 0x2f]
shr esi, cl
movzx ebp, byte [esp + 0x30]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov edi, dword [esp + 0x4c]
and edi, ebp
or eax, edi
or ebx, eax
mov eax, ecx
movzx ecx, byte [esp + 0x2e]
mov ebp, ebx
shr ebx, cl
mov edi, ecx
mov ecx, edx
shl ebp, cl
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
and ebx, edi
cmp cl, 0x20
sbb edi, edi
and ebp, edi
cmp al, 0x20
sbb edi, edi
and esi, edi
or esi, ebp
or esi, ebx
mov eax, dword [esp + 0x3c]
movzx ebx, byte [esp + 0x28]
mov ebp, dword [esp + 0x50]
mov ecx, esi
mov esi, dword [esp + 0x60]
lea edi, [ebx + 1]
xchg edi, eax
movzx eax, al
xchg edi, eax
lea edx, [esi + eax*4]
movzx edx, word [edx]
add ecx, edx
mov word [esp + 0x78], cx
lea esi, [esi + eax*4 + 2]
movzx esi, byte [esi]
xchg esi, eax
mov byte [ebp + edi], al
xchg esi, eax
nop
mov esi, dword [esp + 0xa4]
cmp byte [esi + 0x628], 0x20
jb 0x63d28c
mov ecx, dword [esi + 0x614]
mov edi, dword [esi + 0x61c]
lea eax, [edi - 4]
cmp ecx, eax
jb 0x63d6be
mov ecx, dword [esi + 0x618]
sub ecx, edi
lea edx, [ecx + 4]
mov edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
cmp edx, 4
jb 0x63d6b4
mov edi, dword [esi + 0x610]
mov edi, dword [edi + eax]
mov eax, dword [esi + 0x620]
mov dword [esi + 0x620], edi
mov dword [esi + 0x624], eax
movzx edi, byte [esi + 0x628]
add edi, 0xffffffe0
xchg edi, eax
mov byte [esi + 0x628], al
xchg edi, eax
add dword [esi + 0x61c], 0xfffffffc
mov ecx, dword [esp + 0x98]
movzx eax, word [esp + 0x8c]
cmp ecx, eax
jbe 0x63d6af
mov edi, dword [esp + 0x94]
lea ecx, [edi + eax*4 + 3]
movzx ecx, byte [ecx]
test cl, cl
je 0x63d2ce
mov edx, dword [esp + 0x90]
movzx esi, byte [edx + 0x18]
xchg esi, eax
cmp al, 0x40
xchg esi, eax
jb 0x63d2d5
mov esi, dword [esp + 0xa4]
xor ecx, ecx
jmp 0x63d3c4
mov dword [esp + 0x60], edi
mov dword [esp + 0x3c], eax
mov byte [esp + 0x29], cl
xchg esi, eax
mov byte [esp + 0x31], al
xchg esi, eax
mov ebp, dword [edx + 0x10]
mov dword [esp + 0x4c], ebp
mov eax, dword [edx + 0x14]
and esi, 0x3f
mov ecx, esi
shl eax, cl
shl ebp, cl
lea edi, [ecx - 0x20]
xchg edi, eax
mov byte [esp + 0x30], al
xchg edi, eax
mov ecx, edi
mov ebx, dword [esp + 0x4c]
shl ebx, cl
mov dword [esp + 0x48], ebx
neg ecx
mov byte [esp + 0x2f], cl
mov ebx, dword [esp + 0x4c]
shr ebx, cl
mov dword [esp + 0x4c], ebx
movzx ebx, byte [esp + 0x29]
lea ecx, [ebx - 0x40]
neg ecx
and ecx, 0x3f
lea edi, [ecx - 0x20]
xchg edi, eax
mov byte [esp + 0x2e], al
xchg edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x2d], al
xchg edi, eax
movzx edi, byte [esp + 0x31]
add ebx, edi
nop
mov byte [edx + 0x18], bl
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ebx, ebx
and ebp, ebx
and eax, ebx
shr ebp, cl
movzx ebx, byte [esp + 0x30]
cmp bl, 0x20
sbb ebx, ebx
mov esi, dword [esp + 0x48]
and esi, ebx
movzx ebx, byte [esp + 0x2f]
cmp bl, 0x20
sbb ebx, ebx
mov edi, dword [esp + 0x4c]
and edi, ebx
or eax, edi
or esi, eax
mov eax, ecx
movzx ecx, byte [esp + 0x2e]
mov ebx, esi
shr esi, cl
mov edx, ecx
movzx ecx, byte [esp + 0x2d]
shl ebx, cl
cmp cl, 0x20
sbb edi, edi
and ebx, edi
cmp dl, 0x20
sbb edi, edi
and esi, edi
cmp al, 0x20
sbb edi, edi
and ebp, edi
or ebp, ebx
or ebp, esi
mov eax, dword [esp + 0x3c]
movzx ebx, byte [esp + 0x28]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x60]
mov ecx, ebp
mov ebp, dword [esp + 0x50]
lea edx, [ebx + 2]
movzx edx, dl
lea esi, [edi + eax*4]
movzx esi, word [esi]
add esi, ecx
mov word [esp + 0x8c], si
lea esi, [edi + eax*4 + 2]
movzx esi, byte [esi]
xchg esi, eax
mov byte [ebp + edx], al
xchg esi, eax
mov ecx, dword [esp + 0x84]
movzx eax, word [esp + 0x78]
cmp ecx, eax
jbe 0x63d6aa
mov esi, dword [esp + 0x80]
lea edi, [esi + eax*4 + 3]
movzx edi, byte [edi]
xchg edi, eax
test al, al
xchg edi, eax
je 0x63d41c
mov ecx, dword [esp + 0x7c]
movzx edx, byte [ecx + 0x18]
cmp dl, 0x40
jb 0x63d423
xor ecx, ecx
jmp 0x63d4f8
mov dword [esp + 0x58], ecx
mov byte [esp + 0x31], dl
mov dword [esp + 0x60], esi
mov dword [esp + 0x3c], eax
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x4c], ebp
mov eax, dword [ecx + 0x14]
and edx, 0x3f
mov ecx, edx
shl ebp, cl
mov dword [esp + 0x48], ebp
shl eax, cl
mov dword [esp + 0x44], eax
lea esi, [ecx - 0x20]
mov ecx, esi
mov ebx, dword [esp + 0x4c]
shl ebx, cl
mov dword [esp + 0x40], ebx
neg ecx
mov ebp, dword [esp + 0x4c]
shr ebp, cl
lea eax, [edi - 0x40]
neg eax
and eax, 0x3f
mov byte [esp + 0x30], al
add eax, 0xffffffe0
mov byte [esp + 0x2f], al
neg eax
movzx ebx, byte [esp + 0x31]
add ebx, edi
nop
mov edi, dword [esp + 0x58]
mov byte [edi + 0x18], bl
cmp cl, 0x20
sbb ebx, ebx
and ebp, ebx
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ebx, ebx
mov esi, dword [esp + 0x40]
and esi, ebx
cmp dl, 0x20
sbb ebx, ebx
mov edi, dword [esp + 0x48]
and edi, ebx
mov ecx, edi
mov edi, dword [esp + 0x44]
and edi, ebx
or edi, ebp
or esi, edi
mov edx, ecx
movzx ecx, byte [esp + 0x30]
shr edx, cl
mov ebx, ecx
mov ecx, eax
mov ebp, esi
shl esi, cl
movzx ecx, byte [esp + 0x2f]
shr ebp, cl
cmp bl, 0x20
sbb ebx, ebx
and edx, ebx
cmp cl, 0x20
sbb ebx, ebx
and ebp, ebx
cmp al, 0x20
sbb ebx, ebx
and esi, ebx
or esi, edx
or ebp, esi
mov eax, dword [esp + 0x3c]
movzx ebx, byte [esp + 0x28]
mov esi, dword [esp + 0x60]
mov ecx, ebp
mov ebp, dword [esp + 0x50]
lea edi, [ebx + 3]
xchg edi, eax
movzx eax, al
xchg edi, eax
lea edx, [esi + eax*4]
movzx edx, word [edx]
add ecx, edx
mov word [esp + 0x78], cx
lea esi, [esi + eax*4 + 2]
movzx esi, byte [esi]
xchg esi, eax
mov byte [ebp + edi], al
xchg esi, eax
cmp bl, 0xfc
jne 0x63cee0
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x680]
mov edx, dword [eax + 0x67c]
lea esi, [edx + 0x100]
mov edi, dword [eax + 0x678]
cmp ecx, esi
jae 0x63d580
mov dword [esp + 0x3c], edx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x100
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x64], edi
lea eax, [edi + edx]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x100
call fcn.00468df0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xa4]
mov dword [ecx + 0x67c], eax
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x680], edx
mov edx, dword [0x9eca70]
test edx, edx
jne 0x63d5ce
mov ebx, dword [esp + 0x64]
jmp 0x63d5e2
call fcn.00468460
mov ebx, dword [esp + 0x64]
mov dword [edi], ebx
mov ebp, dword [ecx + 0x678]
mov dword [edi + 4], ebp
mov dword [ecx + 0x678], ebx
cmp dword [ecx + 0x684], eax
jle 0x63d5fe
movzx ebx, byte [esp + 0x28]
mov ebp, dword [esp + 0x50]
jmp 0x63cee0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x684]
mov dword [esp], eax
call fcn.00409ce0
mov eax, dword [esp + 4]
lea ecx, [0x6e4340]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea eax, [0x745727]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x68]
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 + 0xa8], eax
mov dword [esp + 0xac], ecx
add esp, 0xa0
ret
call fcn.004684c0
call fcn.004684c0
mov ecx, 4
call fcn.00468500
call fcn.00468530
call fcn.004684c0
mov eax, edi
mov ecx, esi
call fcn.004684c0
mov ecx, 4
mov edx, edi
call fcn.00468500
mov eax, ecx
mov ecx, edi
call fcn.00468530
mov ecx, 0x100
call fcn.00468500
call fcn.00468520
nop
call fcn.00467050
jmp fcn.0063bc20