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

Disassembly:
sub esp, 0x128
push ebx
push ebp
push esi
mov esi, dword [esp + 0x13c]
push edi
test esi, esi
jne 0x47be39
lea eax, [esp + 0x154]
cmp dword [esp + 0x154], esi
jne 0x47be20
push 1
push esi
push esi
push esi
push esi
push esi
push eax
call fcn.0047bde0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
sub eax, dword [esp + 0x13c]
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ebp, dword [esp + 0x14c]
mov ecx, dword [ebp]
cmp ecx, dword [ebp + 4]
jae 0x47e938
mov ebx, dword [esp + 0x13c]
mov edx, dword [esp + 0x154]
inc dword [ebp]
cmp edx, dword [ebp + 8]
jae 0x47e94b
cmp dword [ebp + 0x98], 2
jne 0x47be93
mov eax, dword [esp + 0x150]
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x150], ecx
mov dword [ebp + 0x98], 0
mov cl, byte [esi]
movzx eax, cl
xor edx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
cmp eax, 0x9b
ja case.0x47beb8.15
movzx eax, byte [eax + 0x47f848]
jmp dword [eax*4 + 0x47f710]
cmp dword [ebp + 0x6c], edx
je 0x47ebb5
movzx eax, byte [esi + 1]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 0x49a290]
add esi, eax
add esi, edx
mov dword [esp + 0x140], esi
jmp 0x47be93
mov ecx, dword [ebp + 0xac]
mov edi, dword [esp + 0x144]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc edx
push edx
push eax
push ebp
push ecx
push edi
lea edx, [esi + 3]
push edx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 1
je 0x47bf7e
cmp eax, 0xfffffc20
jne 0x47bf56
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add ecx, esi
cmp dword [ebp + 0x7c], ecx
jae 0x47f705
cmp byte [esi], 0x71
je 0x47bf5e
cmp byte [ecx], 0x71
jmp 0x47bf58
test eax, eax
jne 0x47f705
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov edx, dword [esp + 0x28]
shl eax, 8
or eax, ecx
add esi, eax
mov dword [ebp + 0xac], edx
cmp byte [esi], 0x71
je 0x47bf00
jmp 0x47bf88
mov edi, dword [ebp + 0x7c]
mov dword [esp + 0x144], edi
mov al, byte [esi]
cmp al, 0x7c
je 0x47bfa0
cmp al, 0x71
jne case.0x47f571.14
jmp 0x47bfa0
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47bfa0
cmp byte [esi], 0x72
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x80]
mov dword [esp + 0x148], eax
je 0x47bfd6
cmp ebx, dword [esp + 0x20]
jne 0x47e6d9
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
mov dword [esp + 0x24], edx
jmp 0x47cb0d
movzx edi, byte [esi + 1]
movzx edx, byte [esi + 2]
shl edi, 8
or edi, edx
cmp byte [esi + 3], 0x70
jne 0x47c0e4
mov ecx, dword [0x4a7c7c]
test ecx, ecx
je 0x47c0e1
movzx eax, byte [esi + 4]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x90], edx
mov edx, dword [ebp + 0x78]
sub edx, eax
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x144]
sub edx, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x9c], edx
mov edx, ebx
sub edx, eax
movzx eax, byte [esi + 5]
shl eax, 8
mov dword [esp + 0xa0], edx
movzx edx, byte [esi + 6]
or eax, edx
movzx edx, byte [esi + 8]
mov dword [esp + 0xb0], eax
movzx eax, byte [esi + 7]
shl eax, 8
or eax, edx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov edx, dword [ebp + 0xa8]
sar eax, 1
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x90]
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 0xb0]
lea edx, [esp + 0x88]
push edx
mov dword [esp + 0x8c], 2
mov dword [esp + 0xbc], eax
call ecx
add esp, 4
test eax, eax
jg case.0x47f571.14
js 0x47f705
add esi, 0xa
movzx ecx, byte [esi + 3]
lea eax, [esi + 3]
cmp ecx, 0x89
je 0x47c32a
cmp ecx, 0x8a
je 0x47c32a
cmp ecx, 0x87
je 0x47c17e
cmp ecx, 0x88
je 0x47c17e
cmp ecx, 0x8b
jne 0x47c12f
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
jmp 0x47c4bc
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push 0
push ebp
push ecx
push edx
push eax
push ebx
mov dword [ebp + 0x98], 1
call fcn.0047bde0
add esp, 0x1c
cmp eax, 1
je 0x47e645
test eax, eax
je 0x47c177
cmp eax, 0xfffffc20
jne 0x47f705
add esi, edi
jmp 0x47c4bc
movzx eax, byte [esi + 4]
movzx edx, byte [esi + 5]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x47c1a3
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jge 0x47c318
mov dword [esp + 0x14], 0
cmp ecx, 0x88
jne 0x47c4a2
mov ecx, dword [ebp + 0x28]
sar eax, 1
cmp dword [ebp + 0x20], 0
mov edx, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 0
jle 0x47c1f9
movzx edi, byte [edx + 1]
movzx edx, byte [edx]
shl edx, 8
or edi, edx
mov edx, dword [esp + 0x20]
cmp edi, eax
je 0x47c1f9
mov edi, dword [esp + 0x18]
add edx, dword [ebp + 0x24]
inc edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edi
cmp edi, dword [ebp + 0x20]
jl 0x47c1d0
mov eax, dword [esp + 0x18]
cmp eax, dword [ebp + 0x20]
jge 0x47c4a2
cmp edx, ecx
jbe 0x47c27a
lea ebx, [ebx]
sub edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x20]
lea edi, [edx + 2]
add eax, 2
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x47c240
test cl, cl
je 0x47c23c
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x47c240
add eax, 2
add edi, 2
test cl, cl
jne 0x47c220
xor eax, eax
jmp 0x47c245
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47c27a
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x47c26d
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47c318
mov dword [esp + 0x14], 0
cmp edx, dword [ebp + 0x28]
ja 0x47c210
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
inc eax
mov edx, ecx
mov dword [esp + 0x18], eax
cmp eax, dword [ebp + 0x20]
jge 0x47c4a2
add ecx, 2
mov dword [esp + 0x2c], ecx
lea esp, [esp]
add edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x2c]
lea edi, [edx + 2]
lea ebx, [ebx]
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x47c2d0
test cl, cl
je 0x47c2cc
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x47c2d0
add eax, 2
add edi, 2
test cl, cl
jne 0x47c2b0
xor eax, eax
jmp 0x47c2d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47c4a2
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x47c2fd
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47c318
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
cmp eax, dword [ebp + 0x20]
jl 0x47c2a0
jmp 0x47c4a2
mov dword [esp + 0x14], 1
mov eax, 3
jmp 0x47c4af
mov edx, dword [ebp + 0xa4]
test edx, edx
jne 0x47c348
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
jmp 0x47c4bc
movzx eax, byte [esi + 4]
movzx edi, byte [esi + 5]
shl eax, 8
or eax, edi
cmp eax, 0xffff
je 0x47c318
mov edx, dword [edx + 4]
mov dword [esp + 0x2c], edx
cmp eax, edx
je 0x47c318
xor edi, edi
mov dword [esp + 0x14], edi
cmp ecx, 0x8a
jne 0x47c4a2
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edi
cmp dword [ebp + 0x20], edi
jle 0x47c3b5
lea esp, [esp]
movzx ecx, byte [edx]
movzx edi, byte [edx + 1]
shl ecx, 8
or ecx, edi
cmp ecx, eax
je 0x47c3b1
mov ecx, dword [esp + 0x18]
add edx, dword [ebp + 0x24]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, dword [ebp + 0x20]
jl 0x47c390
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x18]
cmp eax, dword [ebp + 0x20]
jge 0x47c4a2
cmp edx, dword [ebp + 0x28]
jbe 0x47c423
sub edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x20]
lea edi, [edx + 2]
add eax, 2
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x47c3f4
test cl, cl
je 0x47c3f0
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x47c3f4
add eax, 2
add edi, 2
test cl, cl
jne 0x47c3d4
xor eax, eax
jmp 0x47c3f9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47c423
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
xor eax, eax
cmp ecx, dword [esp + 0x2c]
sete al
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47c320
cmp edx, dword [ebp + 0x28]
ja 0x47c3c7
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [ebp + 0x20]
jge 0x47c4a2
mov ecx, edx
add ecx, 2
mov dword [esp + 0x30], ecx
add edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x30]
lea edi, [edx + 2]
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x47c468
test cl, cl
je 0x47c464
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x47c468
add eax, 2
add edi, 2
test cl, cl
jne 0x47c448
xor eax, eax
jmp 0x47c46d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47c4a2
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or eax, ecx
xor ecx, ecx
cmp eax, dword [esp + 0x2c]
sete cl
mov eax, ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47c320
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [ebp + 0x20]
jl 0x47c43e
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
add esi, eax
cmp dword [esp + 0x14], 0
jne 0x47e687
cmp byte [esi], 0x71
je 0x47e687
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
lea ecx, [eax + eax]
mov dword [ebp + 0x90], eax
cmp ecx, dword [ebp + 0x14]
jl 0x47c505
add esi, 3
mov dword [ebp + 0x3c], 1
mov dword [esp + 0x140], esi
jmp 0x47be93
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
sub edi, eax
mov eax, dword [edx + edi*4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp + 0xc]
mov edx, ebx
sub edx, dword [ebp + 0x74]
mov dword [eax + ecx*4 + 4], edx
cmp dword [esp + 0x148], ecx
jg 0x47c532
add ecx, 2
mov dword [esp + 0x148], ecx
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
mov ecx, dword [ebp + 0xac]
mov eax, 1
mov dword [esp + 0x28], ecx
cmp dword [ebp + 0x98], eax
jne 0x47c564
mov dword [esp + 0x14], eax
mov dword [ebp + 0x98], edx
jmp 0x47c568
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x148]
nop
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x144]
inc edx
push edx
push 0
push ebp
push edi
push eax
lea ecx, [esi + 3]
push ecx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 1
je 0x47c5cd
cmp eax, 0xfffffc19
je 0x47c5cd
test eax, eax
je 0x47c5ad
cmp eax, 0xfffffc20
jne 0x47f705
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ecx, dword [esp + 0x28]
shl edx, 8
or edx, eax
add esi, edx
mov dword [ebp + 0xac], ecx
cmp byte [esi], 0x71
je 0x47c570
jmp 0x47c5d7
mov edx, dword [ebp + 0x7c]
mov dword [esp + 0x144], edx
cmp byte [esi], 0x72
je case.0x47f571.14
cmp dword [esp + 0x14], 0
jne 0x47ef29
jmp 0x47c5f0
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47c5f0
mov edx, dword [ebp + 0x8c]
add esi, 3
mov dword [esp + 0x140], esi
mov dword [esp + 0x148], edx
jmp 0x47be93
mov eax, dword [ebp + 0xac]
mov dword [esp + 0x28], eax
mov eax, 1
cmp dword [ebp + 0x98], eax
jne 0x47c643
mov dword [esp + 0x14], eax
mov dword [ebp + 0x98], edx
jmp 0x47c647
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x148]
mov edi, edi
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x144]
inc ecx
push ecx
push 0
push ebp
push edi
push edx
lea eax, [esi + 3]
push eax
push ebx
call fcn.0047bde0
mov ecx, dword [esp + 0x44]
add esp, 0x1c
mov dword [ebp + 0xac], ecx
cmp eax, 1
je case.0x47f571.14
cmp eax, 0xfffffc19
je case.0x47f571.14
cmp eax, 0xfffffc1e
je 0x47c6d0
cmp eax, 0xfffffc1d
je 0x47c6d0
cmp eax, 0xfffffc1a
je 0x47c6d0
test eax, eax
je 0x47c6b4
cmp eax, 0xfffffc20
jne 0x47f705
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47c650
jmp 0x47c6e4
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
je 0x47c6d0
cmp dword [esp + 0x14], 0
jne 0x47ef29
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
sub ebx, eax
cmp ebx, dword [ebp + 0x74]
jb case.0x47f571.14
cmp ebx, dword [ebp + 0x84]
jae 0x47c724
mov dword [ebp + 0x84], ebx
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
mov ecx, dword [0x4a7c7c]
test ecx, ecx
je 0x47c7f2
movzx edx, byte [esi + 1]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0x54], edx
mov edx, dword [ebp + 0x78]
sub edx, eax
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x144]
sub edx, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], edx
mov edx, ebx
sub edx, eax
movzx eax, byte [esi + 6]
shl eax, 8
mov dword [esp + 0x68], edx
movzx edx, byte [esi + 7]
or eax, edx
movzx edx, byte [esi + 9]
mov dword [esp + 0x78], eax
movzx eax, byte [esi + 8]
shl eax, 8
or eax, edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov edx, dword [ebp + 0xa8]
sar eax, 1
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x80], eax
mov dword [esp + 0x74], edx
mov edx, dword [esi + 2]
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x54], 2
mov dword [esp + 0x88], edx
call ecx
add esp, 4
test eax, eax
jg case.0x47f571.14
js 0x47f705
add esi, 0xa
mov dword [esp + 0x140], esi
jmp 0x47be93
movzx edi, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov eax, dword [ebp + 0x70]
shl edi, 8
or edi, ecx
add edi, eax
cmp edi, eax
jne 0x47c81b
xor ecx, ecx
jmp 0x47c828
movzx ecx, byte [edi + 3]
movzx edx, byte [edi + 4]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0xa4]
mov eax, edx
test eax, eax
je 0x47c848
cmp ecx, dword [eax + 4]
jne 0x47c842
cmp ebx, dword [eax + 0x10]
je 0x47eec0
mov eax, dword [eax]
test eax, eax
jne 0x47c834
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 0x10]
add esi, 3
lea eax, [esp + 0x34]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x34], edx
mov dword [ebp + 0xa4], eax
mov dword [esp + 0x140], esi
mov dword [esp + 0x40], ecx
cmp ecx, 0x1e
jg 0x47c881
lea eax, [esp + 0xc0]
mov dword [esp + 0x3c], eax
jmp 0x47c89f
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x4a2348]
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je 0x47eed0
mov ecx, dword [esp + 0x40]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.004896c0
add esp, 0xc
cmp byte [edi], 0x82
sbb eax, eax
inc eax
mov dword [esp + 0x14], eax
mov edi, edi
cmp dword [esp + 0x14], 0
je 0x47c8d1
mov dword [ebp + 0x98], 2
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
movzx eax, byte [edi]
push ebp
push ecx
movzx ecx, byte [eax + 0x49a290]
push edx
add ecx, edi
push ecx
push ebx
call fcn.0047bde0
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
add esp, 0x1c
mov dword [esp + 0x2c], eax
lea eax, [edx*4]
mov edx, dword [ebp + 0xc]
push eax
push ecx
push edx
call fcn.004896c0
mov ecx, dword [esp + 0x40]
add esp, 0xc
cmp dword [esp + 0x2c], 1
mov dword [ebp + 0xa4], ecx
je 0x47c9a3
mov eax, dword [esp + 0x2c]
cmp eax, 0xfffffc19
je 0x47c9a3
test eax, eax
je 0x47c955
cmp eax, 0xfffffc20
jne 0x47eee0
lea eax, [esp + 0x34]
mov dword [ebp + 0xa4], eax
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, edx
cmp byte [edi], 0x71
je 0x47c8c0
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0xa4], ecx
lea ecx, [esp + 0xc0]
cmp eax, ecx
je 0x47c996
push eax
call dword [0x4a234c]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xc0]
cmp eax, ecx
je 0x47c9bc
push eax
call dword [0x4a234c]
add esp, 4
mov edx, dword [ebp + 0x7c]
mov ebx, dword [ebp + 0x80]
mov dword [esp + 0x144], edx
jmp 0x47be93
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je case.0x47beb8.113
mov dword [esp + 0x140], esi
jmp 0x47be93
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
push ebp
push ecx
push edx
inc esi
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
jmp 0x47ca30
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47ca30
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
inc esi
mov eax, esi
jmp 0x47ca60
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x71
je 0x47ca60
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
inc edx
push edx
mov edx, dword [esp + 0x14c]
push ecx
mov ecx, dword [esp + 0x14c]
push ebp
push edx
push ecx
add eax, 3
push eax
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
mov dword [esp + 0x140], esi
jmp 0x47be93
inc esi
jmp 0x47cac0
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47cac0
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
movzx eax, byte [esi + 1]
inc esi
mov dword [esp + 0x140], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], 1
cmp eax, 0x80
je 0x47cb0d
cmp eax, 0x85
jne 0x47cca0
movzx eax, byte [esi + 3]
movzx ecx, byte [esi + 4]
shl eax, 8
or eax, ecx
mov dword [esp + 0x28], eax
add eax, eax
cmp eax, dword [ebp + 0x14]
jge case.0x47beb8.126
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x28]
add ecx, ecx
mov dword [esp + 0x20], edx
mov edx, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0x10]
mov edi, esi
sub edi, dword [ebp + 0x70]
sub edx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + edx*4]
mov ecx, dword [ebp + 0x90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0x10]
sub eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0xc]
mov edx, ebx
sub edx, dword [ebp + 0x74]
cmp dword [esp + 0x1c], 0x82
mov dword [ecx + eax*4], edx
jl 0x47cb88
mov dword [ebp + 0x98], 2
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
movzx eax, byte [esi]
push ebp
push ecx
movzx ecx, byte [eax + 0x49a290]
push edx
add ecx, esi
push ecx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x47cbf6
mov edx, dword [ebp + 0x8c]
mov esi, dword [ebp + 0x70]
mov eax, dword [ebp + 0x90]
mov ebx, dword [ebp + 0x80]
mov dword [esp + 0x148], edx
add esi, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], 1
jmp 0x47cb62
cmp eax, 0xfffffc20
jne 0x47cc1f
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add ecx, esi
cmp dword [ebp + 0x7c], ecx
jae 0x47f705
cmp byte [esi], 0x71
je 0x47cc27
cmp byte [ecx], 0x71
jmp 0x47cc21
test eax, eax
jne 0x47f705
mov eax, dword [esp + 0x14]
mov dword [ebp + 0x90], eax
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
je 0x47cb62
cmp dword [esp + 0x20], 0
jne 0x47cc7b
mov ecx, dword [esp + 0x28]
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x18]
lea eax, [ecx + ecx]
mov dword [edx + eax*4], edi
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x30]
mov dword [edx + eax*4 + 4], edi
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
sub eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx + eax*4], edx
cmp dword [esp + 0x24], 0
jne 0x47cc8d
cmp dword [esp + 0x20], 0
je case.0x47f571.14
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
mov dword [esp + 0x24], edx
sub esi, dword [ebp + 0x70]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x140]
mov dword [esp + 0x20], edx
cmp dword [esp + 0x1c], 0x82
jl 0x47cccd
mov dword [ebp + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x144]
inc eax
push eax
movzx eax, byte [esi]
push ecx
movzx ecx, byte [eax + 0x49a290]
push ebp
push edi
push edx
add ecx, esi
push ecx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x47cd29
mov edi, dword [ebp + 0x8c]
mov esi, dword [ebp + 0x70]
mov ebx, dword [ebp + 0x80]
add esi, dword [esp + 0x2c]
mov dword [esp + 0x148], edi
mov dword [esp + 0x20], 1
jmp 0x47ccb9
cmp eax, 0xfffffc20
jne 0x47cd52
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add ecx, esi
cmp dword [ebp + 0x7c], ecx
jae 0x47f705
cmp byte [esi], 0x71
je 0x47cd5a
cmp byte [ecx], 0x71
jmp 0x47cd54
test eax, eax
jne 0x47f705
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47ccb9
cmp dword [esp + 0x20], 0
jne 0x47cd84
cmp dword [esp + 0x24], 0
je case.0x47f571.14
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47be93
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
mov dword [esp + 0x24], ecx
cmp al, 0x82
jae 0x47cdbc
cmp al, 0x7b
je 0x47cdbc
mov dword [esp + 0x20], 0
jmp 0x47cdd3
mov edx, dword [esp + 0x150]
mov edi, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x20], edi
mov dword [esp + 0x150], edx
cmp al, 0x77
jb 0x47cddf
cmp al, 0x7a
jbe 0x47ef0c
cmp al, 0x7c
je 0x47ef0c
cmp al, 0x7f
je 0x47cdfb
cmp al, 0x84
je 0x47cdfb
cmp al, 0x80
je 0x47cdfb
cmp al, 0x85
jne 0x47ce91
movzx edx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
mov ecx, dword [ebp + 0xa4]
shl edx, 8
or edx, eax
lea eax, [edx + edx]
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x47ce22
cmp dword [ecx + 4], edx
je 0x47ef39
mov edi, dword [esp + 0x148]
mov dword [ebp + 0x90], edx
cmp eax, dword [ebp + 0x14]
jl 0x47ce3d
mov dword [ebp + 0x3c], 1
jmp 0x47ce98
cmp eax, edi
jle 0x47ce65
mov ecx, dword [ebp + 0xc]
lea edi, [ecx + edi*4]
lea ecx, [ecx + eax*4]
cmp edi, ecx
jae 0x47ce5e
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x148]
mov ecx, dword [ebp + 0x10]
sub ecx, edx
mov edx, ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + edx*4]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp + 0xc]
mov ecx, ebx
sub ecx, dword [ebp + 0x74]
mov dword [edx + eax*4 + 4], ecx
cmp edi, eax
jg 0x47ce98
lea edi, [eax + 2]
mov dword [esp + 0x148], edi
jmp 0x47ce98
mov edi, dword [esp + 0x148]
cmp byte [esi], 0x72
je 0x47cea7
cmp ebx, dword [esp + 0x20]
jne 0x47e82a
mov eax, dword [esp + 0x24]
add esi, 3
cmp byte [eax], 0x7b
je 0x47f006
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp dword [ebp + 0x40], edx
je case.0x47beb8.1
cmp ebx, dword [ebp + 0x74]
je case.0x47f571.14
cmp ebx, dword [ebp + 0x74]
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp dword [ebp + 0x40], edx
je 0x47cef5
cmp ebx, dword [ebp + 0x74]
je case.0x47f571.14
mov ecx, dword [ebp + 0x74]
cmp ebx, ecx
je 0x47cf6d
cmp ebx, dword [ebp + 0x78]
je case.0x47f571.14
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47cf40
cmp ebx, ecx
jbe case.0x47f571.14
mov esi, ecx
lea edx, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00480af0
add esp, 4
test eax, eax
je case.0x47f571.14
mov esi, dword [esp + 0x140]
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
mov eax, dword [ebp + 0x1c]
add ecx, eax
cmp ebx, ecx
jb case.0x47f571.14
mov edi, ebx
sub edi, eax
mov cl, byte [edi]
cmp cl, byte [ebp + 0x2c]
jne case.0x47f571.14
cmp eax, 1
je 0x47cf6d
mov dl, byte [edi + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ebx, eax
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
inc esi
mov dword [esp + 0x144], ebx
mov dword [esp + 0x140], esi
jmp 0x47be93
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47d01c
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47cfe6
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00480a40
add esp, 8
test eax, eax
je case.0x47f571.14
mov esi, dword [esp + 0x140]
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja case.0x47f571.14
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x47f571.14
cmp eax, 1
je 0x47d048
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp dword [ebp + 0x44], 0
jne case.0x47f571.14
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47d048
cmp ebx, dword [ebp + 0x84]
jbe 0x47d048
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp dword [ebp + 0x44], edx
jne case.0x47f571.14
cmp dword [ebp + 0x54], edx
je case.0x47beb8.23
cmp ebx, dword [ebp + 0x78]
jb case.0x47f571.14
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47d048
cmp ebx, dword [ebp + 0x84]
jbe 0x47d048
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47d101
mov eax, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test eax, eax
je 0x47d0cc
push 0
push eax
mov esi, edi
mov ecx, ebx
call fcn.00480a40
add esp, 8
test eax, eax
je case.0x47f571.14
mov esi, dword [esp + 0x140]
jmp 0x47d0f4
mov eax, dword [edi]
sub edx, eax
cmp ebx, edx
ja case.0x47f571.14
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x47f571.14
cmp eax, 1
je 0x47d0f4
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47f571.14
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
cmp ebx, eax
jne case.0x47f571.14
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47d048
cmp ebx, dword [ebp + 0x84]
jbe 0x47d048
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x74]
jne 0x47d141
xor edi, edi
jmp 0x47d163
cmp ebx, dword [ebp + 0x84]
ja 0x47d152
lea ecx, [ebx - 1]
mov dword [ebp + 0x84], ecx
movzx eax, byte [ebx - 1]
mov edx, dword [ebp + 0x38]
movzx edi, byte [eax + edx]
shr edi, 4
and edi, 1
cmp ebx, dword [ebp + 0x78]
jb 0x47d18e
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47d18a
cmp ebx, dword [ebp + 0x84]
jbe 0x47d18a
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
xor eax, eax
jmp 0x47d19e
movzx edx, byte [ebx]
mov ecx, dword [ebp + 0x38]
movzx eax, byte [edx + ecx]
shr eax, 4
and eax, 1
mov cl, byte [esi]
inc esi
mov dword [esp + 0x140], esi
cmp cl, 5
jne 0x47d1b8
xor edx, edx
cmp eax, edi
sete dl
mov eax, edx
jmp 0x47d1c1
xor ecx, ecx
cmp eax, edi
setne cl
mov eax, ecx
test eax, eax
je 0x47be93
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x78]
test eax, eax
je 0x47d205
cmp ebx, edx
jae case.0x47beb8.13
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00480a40
add esp, 8
test eax, eax
jne case.0x47f571.14
mov esi, dword [esp + 0x140]
jmp case.0x47beb8.13
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja case.0x47beb8.13
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x47beb8.13
cmp eax, 1
je case.0x47f571.14
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je case.0x47f571.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
inc ebx
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x38]
inc ebx
test byte [eax + ecx], 4
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x38]
inc ebx
test byte [eax + edx], 4
je case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x38]
inc ebx
test byte [eax + ecx], 1
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x38]
inc ebx
test byte [eax + edx], 1
je case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x38]
inc ebx
test byte [eax + ecx], 0x10
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x38]
inc ebx
test byte [eax + edx], 0x10
je case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xd
ja 0x47d368
je 0x47d351
cmp eax, 0xa
je 0x47d38e
jbe case.0x47f571.14
cmp eax, 0xc
jmp 0x47d37f
cmp ebx, ecx
jae 0x47d38e
cmp byte [ebx], 0xa
jne 0x47d38e
inc ebx
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp eax, 0x85
je 0x47d385
cmp eax, 0x2027
jbe case.0x47f571.14
cmp eax, 0x2029
ja case.0x47f571.14
cmp dword [ebp + 0x64], edx
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x180e
ja 0x47d3d7
je case.0x47f571.14
cmp eax, 0xa0
ja 0x47d3d0
je case.0x47f571.14
cmp eax, 9
je case.0x47f571.14
cmp eax, 0x20
jmp 0x47d402
cmp eax, 0x1680
jmp 0x47d402
cmp eax, 0x205f
ja 0x47d3fd
je case.0x47f571.14
cmp eax, 0x2000
jb 0x47d408
cmp eax, 0x200a
jbe case.0x47f571.14
cmp eax, 0x202f
jmp 0x47d402
cmp eax, 0x3000
je case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x180e
ja 0x47d445
je 0x47d472
cmp eax, 0xa0
ja 0x47d43e
je 0x47d472
cmp eax, 9
je 0x47d472
cmp eax, 0x20
jmp 0x47d46c
cmp eax, 0x1680
jmp 0x47d46c
cmp eax, 0x205f
ja 0x47d467
je 0x47d472
cmp eax, 0x2000
jb case.0x47f571.14
cmp eax, 0x200a
jbe 0x47d472
cmp eax, 0x202f
jmp 0x47d46c
cmp eax, 0x3000
jne case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x85
ja 0x47d4a3
je case.0x47f571.14
cmp eax, 0xa
jb 0x47d4b5
cmp eax, 0xd
jmp 0x47d4af
cmp eax, 0x2028
jb 0x47d4b5
cmp eax, 0x2029
jbe case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x85
ja 0x47d4e6
je 0x47d4fc
cmp eax, 0xa
jb case.0x47f571.14
cmp eax, 0xd
jmp 0x47d4f6
cmp eax, 0x2028
jb case.0x47f571.14
cmp eax, 0x2029
ja case.0x47f571.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47be93
movzx ecx, byte [esi + 2]
xor eax, eax
cmp dword [esp + 0x1c], 0x6e
sete al
add esi, 3
mov dword [esp + 0x140], esi
mov dword [esp + 0x24], eax
movzx eax, byte [esi - 2]
shl eax, 8
or eax, ecx
add eax, eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x148]
jge 0x47d550
mov edx, dword [ebp + 0xc]
lea ecx, [edx + eax*4]
mov edx, dword [ecx]
test edx, edx
js 0x47d550
mov edi, dword [ecx + 4]
sub edi, edx
jmp 0x47d55a
mov edi, dword [ebp + 0x4c]
neg edi
sbb edi, edi
neg edi
dec edi
movzx ecx, byte [esi]
lea edx, [ecx - 0x62]
mov dword [esp + 0x20], edi
cmp edx, 7
ja case.default.0x47d574
movzx edx, byte [edx + 0x47f8ec]
jmp dword [edx*4 + 0x47f8e4]
lea eax, [ecx - 0x62]
movsx edi, byte [eax + 0x49a798]
mov ecx, eax
movsx eax, byte [eax + 0x49a7a0]
inc esi
and ecx, 1
mov dword [esp + 0x140], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47d5f6
mov eax, 0x7fffffff
mov dword [esp + 0x1c], eax
jmp 0x47d5f6
movzx edi, byte [esi + 1]
movzx ecx, byte [esi + 2]
movzx edx, byte [esi + 4]
xor eax, eax
cmp byte [esi], 0x69
sete al
shl edi, 8
or edi, ecx
mov dword [esp + 0x14], eax
movzx eax, byte [esi + 3]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
jne 0x47d5e4
mov dword [esp + 0x1c], 0x7fffffff
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add esi, 5
mov dword [esp + 0x140], esi
mov edx, dword [esp + 0x20]
test edx, edx
je 0x47be93
jns 0x47d60c
test edi, edi
je 0x47be93
mov dword [esp + 0x18], 1
cmp edi, 1
jl 0x47d659
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push eax
push ecx
mov ecx, ebp
mov eax, ebx
call fcn.0047bd50
add esp, 8
test eax, eax
js 0x47f135
add ebx, eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, edi
jle 0x47d620
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp edi, eax
je 0x47be93
test ecx, ecx
je 0x47f087
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
push ebp
push ecx
push edx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
cmp edi, dword [esp + 0x1c]
jge case.0x47f571.14
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push eax
push ecx
mov ecx, ebp
mov eax, ebx
call fcn.0047bd50
add esp, 8
test eax, eax
js 0x47f135
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
add ebx, eax
mov eax, dword [esp + 0x154]
push eax
push ebp
push ecx
push edx
push esi
push ebx
inc edi
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47d69d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x24]
push edx
push eax
mov ecx, ebp
mov edx, edi
mov eax, ebx
call fcn.0047bd50
add esp, 8
test eax, eax
js 0x47f135
add ebx, eax
jmp 0x47be93
lea eax, [esi + 1]
add esi, 0x21
mov dword [esp + 0x28], eax
mov al, byte [esi]
movzx ecx, al
lea edi, [ecx - 0x62]
mov dword [esp + 0x140], esi
cmp edi, 7
ja case.default.0x47d74f
movzx edi, byte [edi + 0x47f8fc]
jmp dword [edi*4 + 0x47f8f4]
movsx edi, byte [ecx + 0x49a73e]
movsx eax, byte [ecx + 0x49a736]
add ecx, 0xffffff9e
mov edx, ecx
inc esi
and edx, 1
mov dword [esp + 0x140], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x47d7d2
mov edi, 0x7fffffff
jmp 0x47d7ce
movzx ecx, byte [esi + 2]
movzx edi, byte [esi + 3]
xor edx, edx
cmp al, 0x69
movzx eax, byte [esi + 1]
sete dl
shl eax, 8
or eax, ecx
movzx ecx, byte [esi + 4]
shl edi, 8
or edi, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edi
jne 0x47d7bb
mov edi, 0x7fffffff
mov dword [esp + 0x1c], edi
add esi, 5
mov dword [esp + 0x140], esi
jmp 0x47d7d2
mov edi, 1
mov eax, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 1
cmp eax, 1
jl 0x47d81f
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx edi, byte [ebx]
mov ecx, edi
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x28]
shr edi, 3
mov cl, byte [edi + ecx]
inc ebx
test cl, dl
je case.0x47f571.14
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, eax
jle 0x47d7df
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
cmp eax, edi
je 0x47be93
test edx, edx
je 0x47f151
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x154]
push eax
push ebp
push ecx
push edx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
jmp 0x47d870
cmp dword [esp + 0x18], edi
jge case.0x47f571.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x28]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je case.0x47f571.14
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc dword [esp + 0x18]
inc ecx
push ecx
mov ecx, dword [esp + 0x148]
push edx
push ebp
push eax
push ecx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47d870
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [ebp + 0x78]
sub edx, ebx
cmp edx, 1
jl 0x47f04d
mov al, byte [ebx]
inc ebx
cmp byte [esi + 1], al
jne case.0x47f571.14
add esi, 2
mov dword [esp + 0x140], esi
jmp 0x47be93
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx ecx, byte [esi + 1]
mov eax, dword [ebp + 0x30]
movzx edx, byte [ebx]
mov cl, byte [ecx + eax]
cmp cl, byte [edx + eax]
jne case.0x47f571.14
inc ebx
add esi, 2
mov dword [esp + 0x140], esi
jmp 0x47be93
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
mov eax, edi
add esi, 3
jmp 0x47d9ec
mov dword [esp + 0x24], 1
movzx edi, byte [esi + 1]
movzx edx, byte [esi + 2]
shl edi, 8
xor eax, eax
or edi, edx
cmp cl, 0x28
je 0x47d97f
cmp cl, 0x35
je 0x47d97f
xor edx, edx
mov dword [esp + 0x14], edx
add esi, 3
jmp 0x47d9ec
mov edx, 1
mov dword [esp + 0x14], edx
add esi, 3
jmp 0x47d9ec
xor eax, eax
mov dword [esp + 0x24], 1
inc esi
jmp 0x47d9e7
mov eax, 1
mov dword [esp + 0x24], eax
add esi, eax
jmp 0x47d9e7
mov edi, 1
xor eax, eax
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47d9ec
mov edi, dword [esp + 0x1c]
xor eax, eax
cmp edi, 0x2e
setge al
inc esi
dec eax
and eax, 0xfffffff3
add eax, 0x2e
sub edi, eax
movsx eax, byte [edi + 0x49a798]
mov edx, edi
movsx edi, byte [edi + 0x49a7a0]
and edx, 1
mov dword [esp + 0x14], edx
test edi, edi
jne 0x47d9ec
mov edi, 0x7fffffff
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0x2e
mov dword [esp + 0x20], ecx
mov dword [esp + 0x140], esi
jl 0x47db03
mov edx, dword [ebp + 0x34]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x28], edx
cmp eax, 1
jl 0x47da4a
mov dword [esp + 0x2c], 1
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx edx, byte [ebx]
cmp ecx, edx
je 0x47da3c
cmp dword [esp + 0x28], edx
jne case.0x47f571.14
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
inc edx
inc ebx
mov dword [esp + 0x2c], edx
cmp edx, eax
jle 0x47da1e
cmp eax, edi
je 0x47be93
cmp dword [esp + 0x14], 0
jne 0x47f1fa
mov dword [esp + 0x14], ebx
cmp eax, edi
jge 0x47daa3
cmp ebx, dword [ebp + 0x78]
jae 0x47da81
movzx ecx, byte [ebx]
cmp dword [esp + 0x20], ecx
je 0x47da79
cmp dword [esp + 0x28], ecx
jne 0x47daa3
inc eax
inc ebx
cmp eax, edi
jl 0x47da65
jmp 0x47daa3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47daa3
cmp ebx, dword [ebp + 0x84]
jbe 0x47daa3
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
cmp dword [esp + 0x24], 0
jne 0x47be93
cmp ebx, dword [esp + 0x14]
jb 0x47daf6
mov edi, dword [esp + 0x148]
mov esi, dword [esp + 0x140]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x144]
inc ecx
push ecx
push edx
push ebp
push edi
push eax
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
dec ebx
test eax, eax
jne 0x47f705
cmp ebx, dword [esp + 0x14]
jae 0x47dac2
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov dword [esp + 0x18], 1
cmp eax, 1
jl 0x47db36
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx edx, byte [ebx]
inc ebx
cmp ecx, edx
jne case.0x47f571.14
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, eax
jle 0x47db10
mov edx, dword [esp + 0x14]
cmp eax, edi
je 0x47be93
test edx, edx
jne 0x47f298
mov dword [esp + 0x14], ebx
cmp eax, edi
jge 0x47db88
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47db66
movzx edx, byte [ebx]
cmp dword [esp + 0x20], edx
jne 0x47db88
inc eax
inc ebx
cmp eax, edi
jl 0x47db51
jmp 0x47db88
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47db88
cmp ebx, dword [ebp + 0x84]
jbe 0x47db88
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
cmp dword [esp + 0x24], 0
jne 0x47be93
cmp ebx, dword [esp + 0x14]
jb 0x47dbdb
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x148]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x144]
inc ecx
push ecx
push edx
push ebp
push edi
push eax
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
dec ebx
test eax, eax
jne 0x47f705
cmp ebx, dword [esp + 0x14]
jae 0x47dba7
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x1c], 0x20
jne 0x47dc2e
movzx ecx, byte [esi + 1]
add esi, 2
mov dword [esp + 0x140], esi
cmp ecx, eax
je case.0x47f571.14
mov edx, dword [ebp + 0x34]
movzx ecx, byte [edx + ecx]
cmp ecx, eax
jne 0x47be93
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx edx, byte [esi + 1]
add esi, 2
mov dword [esp + 0x140], esi
cmp edx, eax
jne 0x47be93
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
mov eax, edi
add esi, 3
jmp 0x47dd18
movzx edi, byte [esi + 1]
movzx edx, byte [esi + 2]
shl edi, 8
xor eax, eax
or edi, edx
cmp cl, 0x42
je 0x47dc8f
cmp cl, 0x4f
je 0x47dc8f
xor edx, edx
mov dword [esp + 0x14], edx
add esi, 3
jmp 0x47dd18
mov edx, 1
mov dword [esp + 0x14], edx
add esi, 3
jmp 0x47dd18
xor eax, eax
mov dword [esp + 0x24], 1
inc esi
jmp 0x47dd13
mov eax, 1
mov dword [esp + 0x24], eax
add esi, eax
jmp 0x47dd13
mov edi, 1
xor eax, eax
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47dd18
movzx edi, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edi, 8
xor eax, eax
or edi, ecx
mov dword [esp + 0x24], 1
add esi, 3
jmp 0x47dd18
mov edi, dword [esp + 0x1c]
xor edx, edx
cmp edi, 0x48
setl dl
inc esi
dec edx
and edx, 0xd
add edx, 0x3b
sub edi, edx
movsx eax, byte [edi + 0x49a798]
mov edx, edi
movsx edi, byte [edi + 0x49a7a0]
and edx, 1
mov dword [esp + 0x14], edx
test edi, edi
jne 0x47dd18
mov edi, 0x7fffffff
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0x48
mov dword [esp + 0x20], ecx
mov dword [esp + 0x140], esi
mov dword [esp + 0x18], 1
jl 0x47de3b
mov edx, dword [ebp + 0x34]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x28], edx
cmp eax, 1
jl 0x47dd80
jmp 0x47dd54
mov ecx, dword [esp + 0x20]
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx edx, byte [ebx]
cmp ecx, edx
je case.0x47f571.14
cmp dword [esp + 0x28], edx
je case.0x47f571.14
mov ecx, dword [esp + 0x18]
inc ecx
inc ebx
mov dword [esp + 0x18], ecx
cmp ecx, eax
jle 0x47dd50
cmp eax, edi
je 0x47be93
cmp dword [esp + 0x14], 0
jne 0x47f330
mov dword [esp + 0x14], ebx
mov ecx, eax
cmp eax, edi
jge 0x47dddb
cmp ebx, dword [ebp + 0x78]
jae 0x47ddb9
movzx eax, byte [ebx]
cmp dword [esp + 0x20], eax
je 0x47dddb
cmp dword [esp + 0x28], eax
je 0x47dddb
inc ecx
inc ebx
cmp ecx, edi
jl 0x47dd9d
jmp 0x47dddb
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47dddb
cmp ebx, dword [ebp + 0x84]
jbe 0x47dddb
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
cmp dword [esp + 0x24], 0
jne 0x47be93
cmp ebx, dword [esp + 0x14]
jb 0x47de2e
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x144]
inc eax
push eax
push ecx
push ebp
push edi
push edx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x47ddfa
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 1
jl 0x47de66
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx edx, byte [ebx]
inc ebx
cmp ecx, edx
je case.0x47f571.14
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, eax
jle 0x47de40
mov edx, dword [esp + 0x14]
cmp eax, edi
je 0x47be93
test edx, edx
jne 0x47f3da
mov dword [esp + 0x14], ebx
cmp eax, edi
jge 0x47deb8
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47de96
movzx edx, byte [ebx]
cmp dword [esp + 0x20], edx
je 0x47deb8
inc eax
inc ebx
cmp eax, edi
jl 0x47de81
jmp 0x47deb8
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47deb8
cmp ebx, dword [ebp + 0x84]
jbe 0x47deb8
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
cmp dword [esp + 0x24], 0
jne 0x47be93
cmp ebx, dword [esp + 0x14]
jb 0x47df0b
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x144]
inc eax
push eax
push ecx
push ebp
push edi
push edx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x47ded7
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], 1
add esi, 3
jmp 0x47dfd7
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
mov dword [esp + 0x1c], eax
xor eax, eax
xor edi, edi
cmp cl, 0x5c
sete al
add esi, 3
mov dword [esp + 0x14], eax
jmp 0x47dfd7
xor edi, edi
mov dword [esp + 0x24], 1
inc esi
jmp 0x47dfcf
mov edi, 1
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47dfcf
mov eax, 1
xor edi, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], eax
add esi, eax
jmp 0x47dfd7
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
xor edi, edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], eax
add esi, 3
jmp 0x47dfd7
mov eax, dword [esp + 0x1c]
movsx edi, byte [eax + 0x49a743]
lea ecx, [eax - 0x55]
movsx eax, byte [eax + 0x49a74b]
and ecx, 1
inc esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47dfd7
mov dword [esp + 0x1c], 0x7fffffff
movzx eax, byte [esi]
mov ecx, 1
add esi, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x140], esi
test edi, edi
jle 0x47e2d9
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x47f557.15
jmp dword [eax*4 + 0x47f904]
mov dword [esp + 0x18], ecx
cmp edi, ecx
jl 0x47e2d9
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f04d
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47e046
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00480a40
add esp, 8
test eax, eax
jne case.0x47f571.14
mov esi, dword [esp + 0x140]
jmp 0x47e06b
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47e06b
mov dl, byte [ebx]
cmp dl, byte [ebp + 0x2c]
jne 0x47e06b
cmp eax, 1
je case.0x47f571.14
mov al, byte [ebx + 1]
cmp al, byte [ebp + 0x2d]
je case.0x47f571.14
mov eax, dword [esp + 0x18]
inc eax
inc ebx
mov dword [esp + 0x18], eax
cmp eax, edi
jle 0x47e013
jmp 0x47e2d9
mov edx, dword [ebp + 0x78]
sub edx, edi
cmp ebx, edx
ja 0x47f472
add ebx, edi
jmp 0x47e2d9
mov eax, dword [ebp + 0x78]
sub eax, edi
cmp ebx, eax
ja 0x47f472
add ebx, edi
jmp 0x47e2d9
cmp edi, ecx
jl 0x47e2d9
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f04d
movzx eax, byte [ebx]
sub eax, 0xa
inc ebx
cmp eax, 0x7b
ja case.0x47f571.14
movzx eax, byte [eax + 0x47f954]
jmp dword [eax*4 + 0x47f944]
cmp ebx, edx
jae case.0x47e0d0.10
cmp byte [ebx], 0xa
jne case.0x47e0d0.10
inc ebx
jmp case.0x47e0d0.10
cmp dword [ebp + 0x64], 0
jne case.0x47f571.14
inc ecx
cmp ecx, edi
jle 0x47e0b1
jmp 0x47e2d9
cmp edi, ecx
jl 0x47e2d9
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je case.0x47f571.14
cmp eax, 0x20
je case.0x47f571.14
cmp eax, 0xa0
je case.0x47f571.14
inc ecx
cmp ecx, edi
jle 0x47e102
jmp 0x47e2d9
cmp edi, ecx
jl 0x47e2d9
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je 0x47e161
cmp eax, 0x20
je 0x47e161
cmp eax, 0xa0
jne case.0x47f571.14
inc ecx
cmp ecx, edi
jle 0x47e140
jmp 0x47e2d9
cmp edi, ecx
jl 0x47e2d9
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x47e19b
cmp eax, 0xd
jle case.0x47f571.14
cmp eax, 0x85
je case.0x47f571.14
inc ecx
cmp ecx, edi
jle 0x47e176
jmp 0x47e2d9
cmp edi, ecx
jl 0x47e2d9
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f04d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl case.0x47f571.14
cmp eax, 0xd
jle 0x47e1d5
cmp eax, 0x85
jne case.0x47f571.14
inc ecx
cmp ecx, edi
jle 0x47e1b0
jmp 0x47e2d9
mov eax, ecx
cmp edi, ecx
jl 0x47e2d9
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 4
jne case.0x47f571.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e1e9
jmp 0x47e2d9
mov eax, ecx
cmp edi, ecx
jl 0x47e2d9
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 4
je case.0x47f571.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e217
jmp 0x47e2d9
mov eax, ecx
cmp edi, ecx
jl 0x47e2d9
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 1
jne case.0x47f571.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e245
jmp 0x47e2d9
mov eax, ecx
cmp edi, ecx
jl 0x47e2d9
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 1
je case.0x47f571.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e26c
jmp 0x47e2d9
mov eax, ecx
cmp edi, ecx
jl 0x47e2d9
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 0x10
jne case.0x47f571.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e293
jmp 0x47e2d9
mov eax, ecx
cmp edi, ecx
jl 0x47e2d9
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 0x10
je case.0x47f571.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e2ba
cmp edi, dword [esp + 0x1c]
je 0x47be93
cmp dword [esp + 0x14], 0
jne 0x47f4a6
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
mov dword [esp + 0x14], ebx
cmp eax, 0xf
ja case.0x47f557.15
jmp dword [eax*4 + 0x47f9d0]
cmp edi, dword [esp + 0x1c]
jge 0x47e393
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47e371
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47e337
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00480a40
add esp, 8
test eax, eax
jne 0x47e393
jmp 0x47e354
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47e354
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne 0x47e354
cmp eax, 1
je 0x47e393
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je 0x47e393
inc edi
inc ebx
cmp edi, dword [esp + 0x1c]
jl 0x47e313
jmp 0x47e393
mov ecx, dword [ebp + 0x78]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, edi
sub edx, ebx
cmp eax, edx
jbe 0x47e3aa
mov ebx, ecx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47e393
cmp ebx, dword [ebp + 0x84]
jbe 0x47e393
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
cmp dword [esp + 0x24], 0
je 0x47f696
mov esi, dword [esp + 0x140]
jmp 0x47be93
add ebx, eax
jmp 0x47e393
mov edx, dword [esp + 0x1c]
cmp edi, edx
jge 0x47e393
mov ecx, dword [ebp + 0x78]
lea esp, [esp]
cmp ebx, ecx
jae 0x47e371
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x47e3d8
inc ebx
cmp ebx, ecx
jae 0x47e393
cmp byte [ebx], 0xa
jne 0x47e3f5
jmp 0x47e3f4
cmp eax, 0xa
je 0x47e3f4
cmp dword [ebp + 0x64], 0
jne 0x47e393
cmp eax, 0xb
je 0x47e3f4
cmp eax, 0xc
je 0x47e3f4
cmp eax, 0x85
jne 0x47e393
inc ebx
inc edi
cmp edi, edx
jl 0x47e3c0
jmp 0x47e393
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47e393
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47e371
movzx eax, byte [ebx]
cmp eax, 9
je 0x47e393
cmp eax, 0x20
je 0x47e393
cmp eax, 0xa0
je 0x47e393
inc edi
inc ebx
cmp edi, ecx
jl 0x47e407
jmp 0x47e393
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47e393
mov edx, dword [ebp + 0x78]
lea esp, [esp]
cmp ebx, edx
jae 0x47e371
movzx eax, byte [ebx]
cmp eax, 9
je 0x47e470
cmp eax, 0x20
je 0x47e470
cmp eax, 0xa0
jne 0x47e393
inc edi
inc ebx
cmp edi, ecx
jl 0x47e450
jmp 0x47e393
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47e393
mov edx, dword [ebp + 0x78]
lea ebx, [ebx]
cmp ebx, edx
jae 0x47e371
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x47e393
cmp eax, 0xb
je 0x47e393
cmp eax, 0xc
je 0x47e393
cmp eax, 0xd
je 0x47e393
cmp eax, 0x85
je 0x47e393
inc edi
inc ebx
cmp edi, ecx
jl 0x47e490
jmp 0x47e393
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47e393
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47e371
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x47e50e
cmp eax, 0xb
je 0x47e50e
cmp eax, 0xc
je 0x47e50e
cmp eax, 0xd
je 0x47e50e
cmp eax, 0x85
jne 0x47e393
inc edi
inc ebx
cmp edi, ecx
jl 0x47e4e4
jmp 0x47e393
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47e393
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47e371
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 4
jne 0x47e393
inc edi
inc ebx
cmp edi, eax
jl 0x47e528
jmp 0x47e393
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47e393
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47e371
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 4
je 0x47e393
inc edi
inc ebx
cmp edi, eax
jl 0x47e55a
jmp 0x47e393
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47e393
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47e371
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 1
jne 0x47e393
inc edi
inc ebx
cmp edi, eax
jl 0x47e58c
jmp 0x47e393
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47e393
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47e371
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 1
je 0x47e393
inc edi
inc ebx
cmp edi, eax
jl 0x47e5be
jmp 0x47e393
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47e393
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47e371
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 0x10
jne 0x47e393
inc edi
inc ebx
cmp edi, eax
jl 0x47e5f0
jmp 0x47e393
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47e393
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47e371
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 0x10
je 0x47e393
inc edi
inc ebx
cmp edi, eax
jl 0x47e622
jmp 0x47e393
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esp + 0x148]
jle 0x47e65b
mov dword [esp + 0x148], eax
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
shl eax, 8
or eax, ecx
cmp byte [esi + eax + 3], 0x71
lea esi, [esi + eax + 3]
jne 0x47e687
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47e673
add esi, 3
cmp dword [esp + 0x1c], 0x86
jne 0x47e925
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
push ebp
push edx
push eax
push esi
push ebx
mov dword [ebp + 0x98], 2
call fcn.0047bde0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc ecx
cmp byte [esi], 0x74
push ecx
push edx
push ebp
push eax
push edi
jne 0x47e710
add esi, 3
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
mov esi, dword [esp + 0x24]
jmp 0x47e925
mov eax, dword [esp + 0x38]
push eax
push ebx
mov dword [ebp + 0x98], 2
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
jmp 0x47e922
movzx edi, byte [esi + 3]
movzx ecx, byte [esi + 4]
shl edi, 8
or edi, ecx
lea ecx, [edi + edi]
cmp ecx, dword [ebp + 0x14]
jl 0x47ecdf
mov eax, dword [esp + 0x1c]
cmp eax, 0x82
jge 0x47e788
cmp eax, 0x7b
je 0x47e788
cmp dword [ebp + 0x68], 0
jne 0x47e792
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
cmp byte [edx + esi], 0x71
je 0x47e792
movzx edx, byte [esi]
movzx eax, byte [edx + 0x49a290]
add esi, eax
jmp 0x47e925
mov dword [ebp + 0x98], 2
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
mov edi, dword [ebp + 0xac]
inc ecx
push ecx
mov ecx, dword [esp + 0x148]
push edx
movzx edx, byte [esi]
push ebp
push eax
movzx eax, byte [edx + 0x49a290]
push ecx
add eax, esi
push eax
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x47e7ff
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add ecx, esi
cmp dword [ebp + 0x7c], ecx
jae 0x47f705
cmp byte [esi], 0x71
je 0x47e807
cmp byte [ecx], 0x71
jne 0x47f705
jmp 0x47e807
test eax, eax
jne 0x47ee0a
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
mov dword [ebp + 0xac], edi
cmp byte [esi], 0x71
jne case.0x47f571.14
jmp case.0x47beb8.123
mov al, byte [esi]
cmp al, 0x75
je 0x47ef59
cmp al, 0x74
jne 0x47e8be
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x144]
inc ecx
push ecx
push edx
push ebp
push edi
push eax
add esi, 3
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
mov esi, dword [esp + 0x24]
mov al, byte [esi]
cmp al, 0x7b
je 0x47ef75
cmp al, 0x82
jb 0x47e925
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x144]
inc edx
push edx
push eax
push ebp
push edi
push ecx
mov edx, esi
push edx
push ebx
mov dword [ebp + 0x98], 2
call fcn.0047bde0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x24]
cmp byte [ecx], 0x82
jb 0x47e8d1
mov dword [ebp + 0x98], 2
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x144]
inc edx
push edx
mov edx, dword [esp + 0x28]
push eax
push ebp
push edi
push ecx
push edx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x47e90d
mov ecx, dword [ebp + 0xb4]
cmp ecx, dword [esp + 0x24]
jmp 0x47e90f
test eax, eax
jne 0x47f705
mov edx, dword [esp + 0x24]
cmp byte [edx], 0x7b
je 0x47efbc
add esi, 3
mov eax, dword [ebp]
mov dword [esp + 0x140], esi
cmp eax, dword [ebp + 4]
jb 0x47be53
inc dword [ebp]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x148]
inc ecx
push ecx
mov ecx, dword [esp + 0x148]
mov dword [ebp + 0xac], edx
mov edx, dword [esp + 0x154]
push edx
lea edi, [esi + 2]
mov dword [ebp + 0xb0], edi
movzx edx, byte [esi]
push ebp
push eax
movzx eax, byte [edx + 0x49a290]
push ecx
movzx ecx, byte [esi + 1]
add eax, esi
add ecx, eax
push ecx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 1
je 0x47e9b4
cmp eax, 0xfffffc19
jne 0x47e9ce
cmp dword [ebp + 0xac], 0
jne 0x47e9ce
mov dword [ebp + 0xac], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 0xfffffc1f
jne 0x47f705
mov ecx, dword [ebp + 0x7c]
lea esp, [esp]
mov dl, byte [edi]
cmp dl, byte [ecx]
jne 0x47ea00
test dl, dl
je 0x47e9fc
mov dl, byte [edi + 1]
cmp dl, byte [ecx + 1]
jne 0x47ea00
add edi, 2
add ecx, 2
test dl, dl
jne 0x47e9e0
xor ecx, ecx
jmp 0x47ea05
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x47f705
mov dword [ebp + 0x7c], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
movzx eax, byte [esi]
push ebp
push ecx
movzx ecx, byte [eax + 0x49a290]
push edx
add ecx, esi
push ecx
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47ea7c
cmp eax, 0xfffffc1d
je 0x47ea7c
cmp eax, 0xfffffc1e
je 0x47ea7c
cmp eax, 0xfffffc1f
je 0x47ea7c
cmp eax, 0xfffffc20
jne 0x47f705
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
movzx eax, byte [esi]
push ebp
push ecx
movzx ecx, byte [eax + 0x49a290]
push edx
add ecx, esi
push ecx
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47ead3
cmp eax, 0xfffffc20
jne 0x47f705
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
mov dword [ebp + 0xac], edx
mov edx, dword [esp + 0x154]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
lea edi, [esi + 2]
mov dword [ebp + 0xb0], edi
movzx eax, byte [esi]
push ebp
push ecx
movzx ecx, byte [eax + 0x49a290]
push edx
movzx edx, byte [esi + 1]
add ecx, esi
add edx, ecx
push edx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 1
je 0x47eb3c
cmp eax, 0xfffffc19
jne 0x47eac4
cmp dword [ebp + 0xac], 0
jne 0x47eac4
mov dword [ebp + 0xac], edi
jmp 0x47eac4
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
movzx ecx, byte [esi]
push ebp
push edx
movzx edx, byte [ecx + 0x49a290]
push eax
add edx, esi
push edx
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47eba2
cmp eax, 0xfffffc1d
je 0x47eba2
cmp eax, 0xfffffc20
jne 0x47f705
mov dword [ebp + 0x7c], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
movzx ecx, byte [esi]
push ebp
push edx
movzx edx, byte [ecx + 0x49a290]
push eax
movzx eax, byte [esi + 1]
add edx, esi
add eax, edx
push eax
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47ec09
cmp eax, 0xfffffc1d
je 0x47ec09
cmp eax, 0xfffffc20
jne 0x47f705
add esi, 2
mov dword [ebp + 0x7c], esi
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x148]
inc ecx
push ecx
mov ecx, dword [esp + 0x148]
push edx
movzx edx, byte [esi]
push ebp
push eax
movzx eax, byte [edx + 0x49a290]
push ecx
add eax, esi
push eax
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
mov dword [ebp + 0x7c], esi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x154]
mov eax, dword [esp + 0x148]
inc ecx
push ecx
mov ecx, dword [esp + 0x148]
mov dword [ebp + 0xac], edx
mov edx, dword [esp + 0x154]
push edx
lea edi, [esi + 2]
mov dword [ebp + 0xb0], edi
movzx edx, byte [esi]
push ebp
push eax
movzx eax, byte [edx + 0x49a290]
push ecx
movzx ecx, byte [esi + 1]
add eax, esi
add ecx, eax
push ecx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 1
je 0x47eccb
cmp eax, 0xfffffc19
jne 0x47ec57
cmp dword [ebp + 0xac], 0
jne 0x47ec57
mov dword [ebp + 0xac], edi
jmp 0x47ec57
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0x10]
sub edx, edi
lea eax, [eax + edx*4]
mov edx, dword [ebp + 0x90]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax]
mov dword [esp + 0x14], edx
mov edx, ebx
sub edx, dword [ebp + 0x74]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0xac]
mov dword [esp + 0x28], ecx
mov dword [eax], edx
lea ebx, [ebx]
cmp dword [esp + 0x1c], 0x82
jl 0x47ed34
mov dword [ebp + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
movzx ecx, byte [esi]
push ebp
push edx
movzx edx, byte [ecx + 0x49a290]
push eax
add edx, esi
push edx
push ebx
call fcn.0047bde0
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x47edd8
cmp eax, 0xfffffc20
jne 0x47eda4
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add ecx, esi
cmp dword [ebp + 0x7c], ecx
jae 0x47f705
cmp byte [esi], 0x71
je 0x47eda0
cmp byte [ecx], 0x71
jne 0x47f705
xor eax, eax
jmp 0x47edac
test eax, eax
jne 0x47f705
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x90], ecx
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
or edx, ecx
add esi, edx
mov edx, dword [esp + 0x28]
mov dword [ebp + 0xac], edx
cmp byte [esi], 0x71
je 0x47ed20
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x18]
lea ecx, [edi + edi]
mov dword [edx + ecx*4], esi
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x30]
mov dword [edx + ecx*4 + 4], esi
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x2c]
sub ecx, edi
mov dword [edx + ecx*4], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 0xfffffc1c
jne 0x47f705
mov cl, byte [esi]
cmp cl, 0x7b
je 0x47ee44
cmp cl, 0x71
jne 0x47ee35
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
je 0x47ee21
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
sub esi, ecx
cmp dword [ebp + 0xb4], esi
jne 0x47f705
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x144]
cmp ebx, eax
jne 0x47ee91
cmp dword [esp + 0x1c], 0x99
je 0x47ee91
cmp dword [ebp + 0xa4], edx
jne 0x47ee91
cmp dword [ebp + 0x58], edx
jne case.0x47f571.14
cmp dword [ebp + 0x5c], edx
je 0x47ee91
mov ecx, dword [ebp + 0x94]
add ecx, dword [ebp + 0x74]
cmp eax, ecx
je case.0x47f571.14
mov edx, dword [esp + 0x148]
mov dword [ebp + 0x7c], eax
mov eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
and eax, 0xfffffc18
mov dword [ebp + 0x80], ebx
mov dword [ebp + 0x8c], edx
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0xc0]
cmp ecx, edx
je 0x47f705
push ecx
call dword [0x4a234c]
mov eax, dword [esp + 0x30]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov dword [ebp + 0x80], ebx
mov dword [ebp + 0x8c], edx
mov dword [ebp + 0x7c], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x144]
mov dword [ebp + 0x80], ebx
mov dword [ebp + 0x7c], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov dword [ebp + 0x80], ebx
mov dword [ebp + 0x8c], edi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x144]
mov esi, dword [esp + 0x24]
inc edx
push edx
push eax
push ebp
push edi
push ecx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
mov dword [ebp + 0xb4], esi
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x144]
inc eax
push eax
push ecx
push ebp
push edi
push edx
add esi, 3
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
mov eax, dword [esp + 0x24]
mov dword [ebp + 0xb4], eax
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x144]
inc ecx
push ecx
push edx
push ebp
push edi
push eax
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0xb4], ecx
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x47f571.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x47f571.14
mov dword [ebp + 0x60], 1
cmp eax, 1
jle case.0x47f571.14
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov dword [esp + 0x14], ebx
cmp edi, eax
jge 0x47f0e3
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
push eax
push ecx
mov ecx, ebp
mov edx, esi
mov eax, ebx
call fcn.0047bd50
add esp, 8
test eax, eax
js 0x47f0ba
inc edi
add ebx, eax
cmp edi, dword [esp + 0x1c]
jl 0x47f093
jmp 0x47f0dd
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47f0dd
cmp ebx, dword [ebp + 0x78]
jb 0x47f0dd
cmp ebx, dword [ebp + 0x84]
jbe 0x47f0dd
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
cmp ebx, dword [esp + 0x14]
jb 0x47f128
mov esi, dword [esp + 0x148]
mov edi, dword [esp + 0x140]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x144]
inc edx
push edx
push eax
push ebp
push esi
push ecx
push edi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
sub ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x14]
jae 0x47f0f1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x47f571.14
cmp ebx, dword [ebp + 0x78]
jb case.0x47f571.14
jmp 0x47f05b
mov dword [esp + 0x14], ebx
cmp eax, edi
jge 0x47f1ab
cmp ebx, dword [ebp + 0x78]
jae 0x47f183
movzx esi, byte [ebx]
mov ecx, esi
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x28]
shr esi, 3
mov cl, byte [esi + ecx]
test cl, dl
je 0x47f1a5
inc eax
inc ebx
cmp eax, edi
jl 0x47f159
jmp 0x47f1a5
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47f1a5
cmp ebx, dword [ebp + 0x84]
jbe 0x47f1a5
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f077
cmp ebx, dword [esp + 0x14]
jb 0x47f1ed
mov edi, dword [esp + 0x148]
mov esi, dword [esp + 0x140]
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x144]
inc edx
push edx
push eax
push ebp
push edi
push ecx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x47f1b9
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [esp + 0x154]
mov ecx, dword [esp + 0x148]
inc edx
push edx
mov edx, dword [esp + 0x148]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x154]
push eax
push ebp
push ecx
push edx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
cmp dword [esp + 0x18], edi
jge case.0x47f571.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
cmp dword [esp + 0x20], eax
je 0x47f258
cmp dword [esp + 0x28], eax
jne case.0x47f571.14
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc dword [esp + 0x18]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
push ebp
push edx
push eax
inc ebx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47f232
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc ecx
push ecx
mov ecx, dword [esp + 0x148]
push edx
push ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x154]
push eax
push ecx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
cmp dword [esp + 0x18], edi
jge case.0x47f571.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx edx, byte [ebx]
inc ebx
cmp dword [esp + 0x20], edx
jne case.0x47f571.14
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc dword [esp + 0x18]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
push ebp
push edx
push eax
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47f2d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
inc ecx
push ecx
mov ecx, dword [esp + 0x148]
push edx
push ebp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x154]
push eax
push ecx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
jmp 0x47f370
cmp dword [esp + 0x18], edi
jge case.0x47f571.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx eax, byte [ebx]
cmp dword [esp + 0x20], eax
je case.0x47f571.14
cmp dword [esp + 0x28], eax
je case.0x47f571.14
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc dword [esp + 0x18]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
push ebp
push ecx
push edx
inc ebx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47f370
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x154]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
push ebp
push edx
push eax
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
cmp dword [esp + 0x18], edi
jge case.0x47f571.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f04d
movzx ecx, byte [ebx]
inc ebx
cmp dword [esp + 0x20], ecx
je case.0x47f571.14
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x148]
inc dword [esp + 0x18]
inc edx
push edx
mov edx, dword [esp + 0x148]
push eax
push ebp
push ecx
push edx
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47f412
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x47f571.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x47f571.14
mov dword [ebp + 0x60], ecx
cmp eax, ecx
jmp 0x47f071
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
push ebp
push edx
push eax
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
cmp edi, dword [esp + 0x1c]
jge case.0x47f571.14
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f04d
cmp dword [esp + 0x20], 0xc
jne 0x47f543
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47f51e
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00480a40
add esp, 8
test eax, eax
jne case.0x47f571.14
mov esi, dword [esp + 0x140]
jmp 0x47f543
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47f543
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne 0x47f543
cmp eax, 1
je case.0x47f571.14
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je case.0x47f571.14
mov ecx, dword [esp + 0x20]
movzx eax, byte [ebx]
add ecx, 0xfffffffa
inc ebx
cmp ecx, 0xf
ja case.0x47f557.15
jmp dword [ecx*4 + 0x47fa10]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x47f571.14
movzx eax, byte [eax + 0x47fa60]
jmp dword [eax*4 + 0x47fa50]
cmp ebx, dword [ebp + 0x78]
jae case.0x47f557.12
cmp byte [ebx], 0xa
jne case.0x47f557.12
inc ebx
jmp case.0x47f557.12
cmp dword [ebp + 0x64], 0
jne case.0x47f571.14
jmp case.0x47f557.12
cmp eax, 9
je case.0x47f571.14
cmp eax, 0x20
je case.0x47f571.14
cmp eax, 0xa0
jmp 0x47f650
cmp eax, 9
je case.0x47f557.12
cmp eax, 0x20
je case.0x47f557.12
cmp eax, 0xa0
jne case.0x47f571.14
jmp case.0x47f557.12
cmp eax, 0xa
jb case.0x47f557.12
cmp eax, 0xd
jbe case.0x47f571.14
cmp eax, 0x85
jmp 0x47f650
cmp eax, 0xa
jb case.0x47f571.14
cmp eax, 0xd
jbe case.0x47f557.12
cmp eax, 0x85
jne case.0x47f571.14
jmp case.0x47f557.12
mov ecx, dword [ebp + 0x38]
test byte [eax + ecx], 4
jne case.0x47f571.14
jmp case.0x47f557.12
mov edx, dword [ebp + 0x38]
test byte [eax + edx], 4
jmp 0x47f650
mov ecx, dword [ebp + 0x38]
test byte [eax + ecx], 1
jne case.0x47f571.14
jmp case.0x47f557.12
mov edx, dword [ebp + 0x38]
test byte [eax + edx], 1
jmp 0x47f650
mov ecx, dword [ebp + 0x38]
test byte [eax + ecx], 0x10
jne case.0x47f571.14
jmp case.0x47f557.12
mov edx, dword [ebp + 0x38]
test byte [eax + edx], 0x10
je case.0x47f571.14
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x148]
inc eax
push eax
mov eax, dword [esp + 0x148]
push ecx
push ebp
push edx
push eax
push esi
push ebx
inc edi
call fcn.0047bde0
add esp, 0x1c
test eax, eax
je 0x47f4da
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp ebx, dword [esp + 0x14]
jb 0x47f6f3
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x148]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
mov eax, dword [esp + 0x144]
inc ecx
push ecx
push edx
push ebp
push edi
push eax
push esi
push ebx
call fcn.0047bde0
add esp, 0x1c
test eax, eax
jne 0x47f705
dec ebx
cmp dword [esp + 0x20], 0x11
jne 0x47f6ed
cmp ebx, dword [esp + 0x14]
jbe 0x47f6f1
cmp byte [ebx], 0xa
jne 0x47f6ed
cmp byte [ebx - 1], 0xd
jne 0x47f6ed
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x47f6aa
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret