Function at 0x47c520
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 0x47c579
lea eax, [esp + 0x154]
cmp dword [esp + 0x154], esi
jne 0x47c560
push 1
push esi
push esi
push esi
push esi
push esi
push eax
call fcn.0047c520
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 0x47f078
mov ebx, dword [esp + 0x13c]
mov edx, dword [esp + 0x154]
inc dword [ebp]
cmp edx, dword [ebp + 8]
jae 0x47f08b
cmp dword [ebp + 0x98], 2
jne 0x47c5d3
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.0x47c5f8.15
movzx eax, byte [eax + 0x47ff88]
jmp dword [eax*4 + 0x47fe50]
cmp dword [ebp + 0x6c], edx
je 0x47f2f5
movzx eax, byte [esi + 1]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ecx + 0x49b2f8]
add esi, eax
add esi, edx
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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.0047c520
add esp, 0x1c
cmp eax, 1
je 0x47c6be
cmp eax, 0xfffffc20
jne 0x47c696
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 0x47fe45
cmp byte [esi], 0x71
je 0x47c69e
cmp byte [ecx], 0x71
jmp 0x47c698
test eax, eax
jne 0x47fe45
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 0x47c640
jmp 0x47c6c8
mov edi, dword [ebp + 0x7c]
mov dword [esp + 0x144], edi
mov al, byte [esi]
cmp al, 0x7c
je 0x47c6e0
cmp al, 0x71
jne case.0x47fcb1.14
jmp 0x47c6e0
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47c6e0
cmp byte [esi], 0x72
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x80]
mov dword [esp + 0x148], eax
je 0x47c716
cmp ebx, dword [esp + 0x20]
jne 0x47ee19
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov dword [esp + 0x24], edx
jmp 0x47d24d
movzx edi, byte [esi + 1]
movzx edx, byte [esi + 2]
shl edi, 8
or edi, edx
cmp byte [esi + 3], 0x70
jne 0x47c824
mov ecx, dword [0x4a8c7c]
test ecx, ecx
je 0x47c821
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.0x47fcb1.14
js 0x47fe45
add esi, 0xa
movzx ecx, byte [esi + 3]
lea eax, [esi + 3]
cmp ecx, 0x89
je 0x47ca6a
cmp ecx, 0x8a
je 0x47ca6a
cmp ecx, 0x87
je 0x47c8be
cmp ecx, 0x88
je 0x47c8be
cmp ecx, 0x8b
jne 0x47c86f
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
jmp 0x47cbfc
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.0047c520
add esp, 0x1c
cmp eax, 1
je 0x47ed85
test eax, eax
je 0x47c8b7
cmp eax, 0xfffffc20
jne 0x47fe45
add esi, edi
jmp 0x47cbfc
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 0x47c8e3
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jge 0x47ca58
mov dword [esp + 0x14], 0
cmp ecx, 0x88
jne 0x47cbe2
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 0x47c939
movzx edi, byte [edx + 1]
movzx edx, byte [edx]
shl edx, 8
or edi, edx
mov edx, dword [esp + 0x20]
cmp edi, eax
je 0x47c939
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 0x47c910
mov eax, dword [esp + 0x18]
cmp eax, dword [ebp + 0x20]
jge 0x47cbe2
cmp edx, ecx
jbe 0x47c9ba
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 0x47c980
test cl, cl
je 0x47c97c
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x47c980
add eax, 2
add edi, 2
test cl, cl
jne 0x47c960
xor eax, eax
jmp 0x47c985
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47c9ba
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x47c9ad
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47ca58
mov dword [esp + 0x14], 0
cmp edx, dword [ebp + 0x28]
ja 0x47c950
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 0x47cbe2
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 0x47ca10
test cl, cl
je 0x47ca0c
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x47ca10
add eax, 2
add edi, 2
test cl, cl
jne 0x47c9f0
xor eax, eax
jmp 0x47ca15
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47cbe2
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x148]
jge 0x47ca3d
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47ca58
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
cmp eax, dword [ebp + 0x20]
jl 0x47c9e0
jmp 0x47cbe2
mov dword [esp + 0x14], 1
mov eax, 3
jmp 0x47cbef
mov edx, dword [ebp + 0xa4]
test edx, edx
jne 0x47ca88
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
jmp 0x47cbfc
movzx eax, byte [esi + 4]
movzx edi, byte [esi + 5]
shl eax, 8
or eax, edi
cmp eax, 0xffff
je 0x47ca58
mov edx, dword [edx + 4]
mov dword [esp + 0x2c], edx
cmp eax, edx
je 0x47ca58
xor edi, edi
mov dword [esp + 0x14], edi
cmp ecx, 0x8a
jne 0x47cbe2
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edi
cmp dword [ebp + 0x20], edi
jle 0x47caf5
lea esp, [esp]
movzx ecx, byte [edx]
movzx edi, byte [edx + 1]
shl ecx, 8
or ecx, edi
cmp ecx, eax
je 0x47caf1
mov ecx, dword [esp + 0x18]
add edx, dword [ebp + 0x24]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, dword [ebp + 0x20]
jl 0x47cad0
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x18]
cmp eax, dword [ebp + 0x20]
jge 0x47cbe2
cmp edx, dword [ebp + 0x28]
jbe 0x47cb63
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 0x47cb34
test cl, cl
je 0x47cb30
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x47cb34
add eax, 2
add edi, 2
test cl, cl
jne 0x47cb14
xor eax, eax
jmp 0x47cb39
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47cb63
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 0x47ca60
cmp edx, dword [ebp + 0x28]
ja 0x47cb07
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [ebp + 0x20]
jge 0x47cbe2
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 0x47cba8
test cl, cl
je 0x47cba4
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x47cba8
add eax, 2
add edi, 2
test cl, cl
jne 0x47cb88
xor eax, eax
jmp 0x47cbad
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47cbe2
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 0x47ca60
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [ebp + 0x20]
jl 0x47cb7e
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 0x47edc7
cmp byte [esi], 0x71
je 0x47edc7
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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 0x47cc45
add esi, 3
mov dword [ebp + 0x3c], 1
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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 0x47cc72
add ecx, 2
mov dword [esp + 0x148], ecx
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov ecx, dword [ebp + 0xac]
mov eax, 1
mov dword [esp + 0x28], ecx
cmp dword [ebp + 0x98], eax
jne 0x47cca4
mov dword [esp + 0x14], eax
mov dword [ebp + 0x98], edx
jmp 0x47cca8
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.0047c520
add esp, 0x1c
cmp eax, 1
je 0x47cd0d
cmp eax, 0xfffffc19
je 0x47cd0d
test eax, eax
je 0x47cced
cmp eax, 0xfffffc20
jne 0x47fe45
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 0x47ccb0
jmp 0x47cd17
mov edx, dword [ebp + 0x7c]
mov dword [esp + 0x144], edx
cmp byte [esi], 0x72
je case.0x47fcb1.14
cmp dword [esp + 0x14], 0
jne 0x47f669
jmp 0x47cd30
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47cd30
mov edx, dword [ebp + 0x8c]
add esi, 3
mov dword [esp + 0x140], esi
mov dword [esp + 0x148], edx
jmp 0x47c5d3
mov eax, dword [ebp + 0xac]
mov dword [esp + 0x28], eax
mov eax, 1
cmp dword [ebp + 0x98], eax
jne 0x47cd83
mov dword [esp + 0x14], eax
mov dword [ebp + 0x98], edx
jmp 0x47cd87
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.0047c520
mov ecx, dword [esp + 0x44]
add esp, 0x1c
mov dword [ebp + 0xac], ecx
cmp eax, 1
je case.0x47fcb1.14
cmp eax, 0xfffffc19
je case.0x47fcb1.14
cmp eax, 0xfffffc1e
je 0x47ce10
cmp eax, 0xfffffc1d
je 0x47ce10
cmp eax, 0xfffffc1a
je 0x47ce10
test eax, eax
je 0x47cdf4
cmp eax, 0xfffffc20
jne 0x47fe45
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47cd90
jmp 0x47ce24
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
je 0x47ce10
cmp dword [esp + 0x14], 0
jne 0x47f669
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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.0x47fcb1.14
cmp ebx, dword [ebp + 0x84]
jae 0x47ce64
mov dword [ebp + 0x84], ebx
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov ecx, dword [0x4a8c7c]
test ecx, ecx
je 0x47cf32
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.0x47fcb1.14
js 0x47fe45
add esi, 0xa
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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 0x47cf5b
xor ecx, ecx
jmp 0x47cf68
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 0x47cf88
cmp ecx, dword [eax + 4]
jne 0x47cf82
cmp ebx, dword [eax + 0x10]
je 0x47f600
mov eax, dword [eax]
test eax, eax
jne 0x47cf74
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 0x47cfc1
lea eax, [esp + 0xc0]
mov dword [esp + 0x3c], eax
jmp 0x47cfdf
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x4a3348]
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je 0x47f610
mov ecx, dword [esp + 0x40]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.00489e00
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 0x47d011
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 + 0x49b2f8]
push edx
add ecx, edi
push ecx
push ebx
call fcn.0047c520
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.00489e00
mov ecx, dword [esp + 0x40]
add esp, 0xc
cmp dword [esp + 0x2c], 1
mov dword [ebp + 0xa4], ecx
je 0x47d0e3
mov eax, dword [esp + 0x2c]
cmp eax, 0xfffffc19
je 0x47d0e3
test eax, eax
je 0x47d095
cmp eax, 0xfffffc20
jne 0x47f620
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 0x47d000
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0xa4], ecx
lea ecx, [esp + 0xc0]
cmp eax, ecx
je 0x47d0d6
push eax
call dword [0x4a334c]
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 0x47d0fc
push eax
call dword [0x4a334c]
add esp, 4
mov edx, dword [ebp + 0x7c]
mov ebx, dword [ebp + 0x80]
mov dword [esp + 0x144], edx
jmp 0x47c5d3
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.0x47c5f8.113
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
jmp 0x47d170
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47d170
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
inc esi
mov eax, esi
jmp 0x47d1a0
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x71
je 0x47d1a0
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
mov dword [esp + 0x140], esi
jmp 0x47c5d3
inc esi
jmp 0x47d200
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47d200
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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 0x47d24d
cmp eax, 0x85
jne 0x47d3e0
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.0x47c5f8.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 0x47d2c8
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 + 0x49b2f8]
push edx
add ecx, esi
push ecx
push ebx
call fcn.0047c520
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x47d336
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 0x47d2a2
cmp eax, 0xfffffc20
jne 0x47d35f
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 0x47fe45
cmp byte [esi], 0x71
je 0x47d367
cmp byte [ecx], 0x71
jmp 0x47d361
test eax, eax
jne 0x47fe45
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 0x47d2a2
cmp dword [esp + 0x20], 0
jne 0x47d3bb
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 0x47d3cd
cmp dword [esp + 0x20], 0
je case.0x47fcb1.14
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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 0x47d40d
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 + 0x49b2f8]
push ebp
push edi
push edx
add ecx, esi
push ecx
push ebx
call fcn.0047c520
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x47d469
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 0x47d3f9
cmp eax, 0xfffffc20
jne 0x47d492
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 0x47fe45
cmp byte [esi], 0x71
je 0x47d49a
cmp byte [ecx], 0x71
jmp 0x47d494
test eax, eax
jne 0x47fe45
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47d3f9
cmp dword [esp + 0x20], 0
jne 0x47d4c4
cmp dword [esp + 0x24], 0
je case.0x47fcb1.14
add esi, 3
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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 0x47d4fc
cmp al, 0x7b
je 0x47d4fc
mov dword [esp + 0x20], 0
jmp 0x47d513
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 0x47d51f
cmp al, 0x7a
jbe 0x47f64c
cmp al, 0x7c
je 0x47f64c
cmp al, 0x7f
je 0x47d53b
cmp al, 0x84
je 0x47d53b
cmp al, 0x80
je 0x47d53b
cmp al, 0x85
jne 0x47d5d1
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 0x47d562
cmp dword [ecx + 4], edx
je 0x47f679
mov edi, dword [esp + 0x148]
mov dword [ebp + 0x90], edx
cmp eax, dword [ebp + 0x14]
jl 0x47d57d
mov dword [ebp + 0x3c], 1
jmp 0x47d5d8
cmp eax, edi
jle 0x47d5a5
mov ecx, dword [ebp + 0xc]
lea edi, [ecx + edi*4]
lea ecx, [ecx + eax*4]
cmp edi, ecx
jae 0x47d59e
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 0x47d5d8
lea edi, [eax + 2]
mov dword [esp + 0x148], edi
jmp 0x47d5d8
mov edi, dword [esp + 0x148]
cmp byte [esi], 0x72
je 0x47d5e7
cmp ebx, dword [esp + 0x20]
jne 0x47ef6a
mov eax, dword [esp + 0x24]
add esi, 3
cmp byte [eax], 0x7b
je 0x47f746
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp dword [ebp + 0x40], edx
je case.0x47c5f8.1
cmp ebx, dword [ebp + 0x74]
je case.0x47fcb1.14
cmp ebx, dword [ebp + 0x74]
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp dword [ebp + 0x40], edx
je 0x47d635
cmp ebx, dword [ebp + 0x74]
je case.0x47fcb1.14
mov ecx, dword [ebp + 0x74]
cmp ebx, ecx
je 0x47d6ad
cmp ebx, dword [ebp + 0x78]
je case.0x47fcb1.14
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47d680
cmp ebx, ecx
jbe case.0x47fcb1.14
mov esi, ecx
lea edx, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00481230
add esp, 4
test eax, eax
je case.0x47fcb1.14
mov esi, dword [esp + 0x140]
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov eax, dword [ebp + 0x1c]
add ecx, eax
cmp ebx, ecx
jb case.0x47fcb1.14
mov edi, ebx
sub edi, eax
mov cl, byte [edi]
cmp cl, byte [ebp + 0x2c]
jne case.0x47fcb1.14
cmp eax, 1
je 0x47d6ad
mov dl, byte [edi + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov eax, dword [ebp + 0x94]
add eax, dword [ebp + 0x74]
cmp ebx, eax
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
inc esi
mov dword [esp + 0x144], ebx
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47d75c
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47d726
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00481180
add esp, 8
test eax, eax
je case.0x47fcb1.14
mov esi, dword [esp + 0x140]
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja case.0x47fcb1.14
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x47fcb1.14
cmp eax, 1
je 0x47d788
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp dword [ebp + 0x44], 0
jne case.0x47fcb1.14
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47d788
cmp ebx, dword [ebp + 0x84]
jbe 0x47d788
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp dword [ebp + 0x44], edx
jne case.0x47fcb1.14
cmp dword [ebp + 0x54], edx
je case.0x47c5f8.23
cmp ebx, dword [ebp + 0x78]
jb case.0x47fcb1.14
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47d788
cmp ebx, dword [ebp + 0x84]
jbe 0x47d788
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47d841
mov eax, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test eax, eax
je 0x47d80c
push 0
push eax
mov esi, edi
mov ecx, ebx
call fcn.00481180
add esp, 8
test eax, eax
je case.0x47fcb1.14
mov esi, dword [esp + 0x140]
jmp 0x47d834
mov eax, dword [edi]
sub edx, eax
cmp ebx, edx
ja case.0x47fcb1.14
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x47fcb1.14
cmp eax, 1
je 0x47d834
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47fcb1.14
mov eax, dword [ebp + 0x78]
sub eax, dword [edi]
cmp ebx, eax
jne case.0x47fcb1.14
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47d788
cmp ebx, dword [ebp + 0x84]
jbe 0x47d788
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x74]
jne 0x47d881
xor edi, edi
jmp 0x47d8a3
cmp ebx, dword [ebp + 0x84]
ja 0x47d892
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 0x47d8ce
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47d8ca
cmp ebx, dword [ebp + 0x84]
jbe 0x47d8ca
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
xor eax, eax
jmp 0x47d8de
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 0x47d8f8
xor edx, edx
cmp eax, edi
sete dl
mov eax, edx
jmp 0x47d901
xor ecx, ecx
cmp eax, edi
setne cl
mov eax, ecx
test eax, eax
je 0x47c5d3
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 0x47d945
cmp ebx, edx
jae case.0x47c5f8.13
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00481180
add esp, 8
test eax, eax
jne case.0x47fcb1.14
mov esi, dword [esp + 0x140]
jmp case.0x47c5f8.13
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja case.0x47c5f8.13
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x47c5f8.13
cmp eax, 1
je case.0x47fcb1.14
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je case.0x47fcb1.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
inc ebx
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x38]
inc ebx
test byte [eax + ecx], 4
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x38]
inc ebx
test byte [eax + edx], 4
je case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x38]
inc ebx
test byte [eax + ecx], 1
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x38]
inc ebx
test byte [eax + edx], 1
je case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x38]
inc ebx
test byte [eax + ecx], 0x10
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x38]
inc ebx
test byte [eax + edx], 0x10
je case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xd
ja 0x47daa8
je 0x47da91
cmp eax, 0xa
je 0x47dace
jbe case.0x47fcb1.14
cmp eax, 0xc
jmp 0x47dabf
cmp ebx, ecx
jae 0x47dace
cmp byte [ebx], 0xa
jne 0x47dace
inc ebx
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp eax, 0x85
je 0x47dac5
cmp eax, 0x2027
jbe case.0x47fcb1.14
cmp eax, 0x2029
ja case.0x47fcb1.14
cmp dword [ebp + 0x64], edx
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x180e
ja 0x47db17
je case.0x47fcb1.14
cmp eax, 0xa0
ja 0x47db10
je case.0x47fcb1.14
cmp eax, 9
je case.0x47fcb1.14
cmp eax, 0x20
jmp 0x47db42
cmp eax, 0x1680
jmp 0x47db42
cmp eax, 0x205f
ja 0x47db3d
je case.0x47fcb1.14
cmp eax, 0x2000
jb 0x47db48
cmp eax, 0x200a
jbe case.0x47fcb1.14
cmp eax, 0x202f
jmp 0x47db42
cmp eax, 0x3000
je case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x180e
ja 0x47db85
je 0x47dbb2
cmp eax, 0xa0
ja 0x47db7e
je 0x47dbb2
cmp eax, 9
je 0x47dbb2
cmp eax, 0x20
jmp 0x47dbac
cmp eax, 0x1680
jmp 0x47dbac
cmp eax, 0x205f
ja 0x47dba7
je 0x47dbb2
cmp eax, 0x2000
jb case.0x47fcb1.14
cmp eax, 0x200a
jbe 0x47dbb2
cmp eax, 0x202f
jmp 0x47dbac
cmp eax, 0x3000
jne case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x85
ja 0x47dbe3
je case.0x47fcb1.14
cmp eax, 0xa
jb 0x47dbf5
cmp eax, 0xd
jmp 0x47dbef
cmp eax, 0x2028
jb 0x47dbf5
cmp eax, 0x2029
jbe case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x85
ja 0x47dc26
je 0x47dc3c
cmp eax, 0xa
jb case.0x47fcb1.14
cmp eax, 0xd
jmp 0x47dc36
cmp eax, 0x2028
jb case.0x47fcb1.14
cmp eax, 0x2029
ja case.0x47fcb1.14
inc esi
mov dword [esp + 0x140], esi
jmp 0x47c5d3
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 0x47dc90
mov edx, dword [ebp + 0xc]
lea ecx, [edx + eax*4]
mov edx, dword [ecx]
test edx, edx
js 0x47dc90
mov edi, dword [ecx + 4]
sub edi, edx
jmp 0x47dc9a
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.0x47dcb4
movzx edx, byte [edx + 0x48002c]
jmp dword [edx*4 + 0x480024]
lea eax, [ecx - 0x62]
movsx edi, byte [eax + 0x49b800]
mov ecx, eax
movsx eax, byte [eax + 0x49b808]
inc esi
and ecx, 1
mov dword [esp + 0x140], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47dd36
mov eax, SysReAllocString
mov dword [esp + 0x1c], eax
jmp 0x47dd36
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 0x47dd24
mov dword [esp + 0x1c], CreateStatusWindowA
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 0x47c5d3
jns 0x47dd4c
test edi, edi
je 0x47c5d3
mov dword [esp + 0x18], 1
cmp edi, 1
jl 0x47dd99
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.0047c490
add esp, 8
test eax, eax
js 0x47f875
add ebx, eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, edi
jle 0x47dd60
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp edi, eax
je 0x47c5d3
test ecx, ecx
je 0x47f7c7
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
cmp edi, dword [esp + 0x1c]
jge case.0x47fcb1.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.0047c490
add esp, 8
test eax, eax
js 0x47f875
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.0047c520
add esp, 0x1c
test eax, eax
je 0x47dddd
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.0047c490
add esp, 8
test eax, eax
js 0x47f875
add ebx, eax
jmp 0x47c5d3
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.0x47de8f
movzx edi, byte [edi + 0x48003c]
jmp dword [edi*4 + 0x480034]
movsx edi, byte [ecx + 0x49b7a6]
movsx eax, byte [ecx + 0x49b79e]
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 0x47df12
mov edi, SysReAllocString
jmp 0x47df0e
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 0x47defb
mov edi, SysReAllocString
mov dword [esp + 0x1c], edi
add esi, 5
mov dword [esp + 0x140], esi
jmp 0x47df12
mov edi, 1
mov eax, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], 1
cmp eax, 1
jl 0x47df5f
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
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.0x47fcb1.14
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, eax
jle 0x47df1f
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
cmp eax, edi
je 0x47c5d3
test edx, edx
je 0x47f891
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
jmp 0x47dfb0
cmp dword [esp + 0x18], edi
jge case.0x47fcb1.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
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.0x47fcb1.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.0047c520
add esp, 0x1c
test eax, eax
je 0x47dfb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov edx, dword [ebp + 0x78]
sub edx, ebx
cmp edx, 1
jl 0x47f78d
mov al, byte [ebx]
inc ebx
cmp byte [esi + 1], al
jne case.0x47fcb1.14
add esi, 2
mov dword [esp + 0x140], esi
jmp 0x47c5d3
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
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.0x47fcb1.14
inc ebx
add esi, 2
mov dword [esp + 0x140], esi
jmp 0x47c5d3
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
mov eax, edi
add esi, 3
jmp 0x47e12c
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 0x47e0bf
cmp cl, 0x35
je 0x47e0bf
xor edx, edx
mov dword [esp + 0x14], edx
add esi, 3
jmp 0x47e12c
mov edx, 1
mov dword [esp + 0x14], edx
add esi, 3
jmp 0x47e12c
xor eax, eax
mov dword [esp + 0x24], 1
inc esi
jmp 0x47e127
mov eax, 1
mov dword [esp + 0x24], eax
add esi, eax
jmp 0x47e127
mov edi, 1
xor eax, eax
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47e12c
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 + 0x49b800]
mov edx, edi
movsx edi, byte [edi + 0x49b808]
and edx, 1
mov dword [esp + 0x14], edx
test edi, edi
jne 0x47e12c
mov edi, SysReAllocString
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0x2e
mov dword [esp + 0x20], ecx
mov dword [esp + 0x140], esi
jl 0x47e243
mov edx, dword [ebp + 0x34]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x28], edx
cmp eax, 1
jl 0x47e18a
mov dword [esp + 0x2c], 1
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx edx, byte [ebx]
cmp ecx, edx
je 0x47e17c
cmp dword [esp + 0x28], edx
jne case.0x47fcb1.14
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
inc edx
inc ebx
mov dword [esp + 0x2c], edx
cmp edx, eax
jle 0x47e15e
cmp eax, edi
je 0x47c5d3
cmp dword [esp + 0x14], 0
jne 0x47f93a
mov dword [esp + 0x14], ebx
cmp eax, edi
jge 0x47e1e3
cmp ebx, dword [ebp + 0x78]
jae 0x47e1c1
movzx ecx, byte [ebx]
cmp dword [esp + 0x20], ecx
je 0x47e1b9
cmp dword [esp + 0x28], ecx
jne 0x47e1e3
inc eax
inc ebx
cmp eax, edi
jl 0x47e1a5
jmp 0x47e1e3
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47e1e3
cmp ebx, dword [ebp + 0x84]
jbe 0x47e1e3
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
cmp dword [esp + 0x24], 0
jne 0x47c5d3
cmp ebx, dword [esp + 0x14]
jb 0x47e236
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.0047c520
add esp, 0x1c
dec ebx
test eax, eax
jne 0x47fe45
cmp ebx, dword [esp + 0x14]
jae 0x47e202
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov dword [esp + 0x18], 1
cmp eax, 1
jl 0x47e276
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx edx, byte [ebx]
inc ebx
cmp ecx, edx
jne case.0x47fcb1.14
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, eax
jle 0x47e250
mov edx, dword [esp + 0x14]
cmp eax, edi
je 0x47c5d3
test edx, edx
jne 0x47f9d8
mov dword [esp + 0x14], ebx
cmp eax, edi
jge 0x47e2c8
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47e2a6
movzx edx, byte [ebx]
cmp dword [esp + 0x20], edx
jne 0x47e2c8
inc eax
inc ebx
cmp eax, edi
jl 0x47e291
jmp 0x47e2c8
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47e2c8
cmp ebx, dword [ebp + 0x84]
jbe 0x47e2c8
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
cmp dword [esp + 0x24], 0
jne 0x47c5d3
cmp ebx, dword [esp + 0x14]
jb 0x47e31b
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.0047c520
add esp, 0x1c
dec ebx
test eax, eax
jne 0x47fe45
cmp ebx, dword [esp + 0x14]
jae 0x47e2e7
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x1c], 0x20
jne 0x47e36e
movzx ecx, byte [esi + 1]
add esi, 2
mov dword [esp + 0x140], esi
cmp ecx, eax
je case.0x47fcb1.14
mov edx, dword [ebp + 0x34]
movzx ecx, byte [edx + ecx]
cmp ecx, eax
jne 0x47c5d3
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 0x47c5d3
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 0x47e458
movzx edi, byte [esi + 1]
movzx edx, byte [esi + 2]
shl edi, 8
xor eax, eax
or edi, edx
cmp cl, 0x42
je 0x47e3cf
cmp cl, 0x4f
je 0x47e3cf
xor edx, edx
mov dword [esp + 0x14], edx
add esi, 3
jmp 0x47e458
mov edx, 1
mov dword [esp + 0x14], edx
add esi, 3
jmp 0x47e458
xor eax, eax
mov dword [esp + 0x24], 1
inc esi
jmp 0x47e453
mov eax, 1
mov dword [esp + 0x24], eax
add esi, eax
jmp 0x47e453
mov edi, 1
xor eax, eax
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47e458
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 0x47e458
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 + 0x49b800]
mov edx, edi
movsx edi, byte [edi + 0x49b808]
and edx, 1
mov dword [esp + 0x14], edx
test edi, edi
jne 0x47e458
mov edi, SysReAllocString
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 0x47e57b
mov edx, dword [ebp + 0x34]
movzx edx, byte [edx + ecx]
mov dword [esp + 0x28], edx
cmp eax, 1
jl 0x47e4c0
jmp 0x47e494
mov ecx, dword [esp + 0x20]
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx edx, byte [ebx]
cmp ecx, edx
je case.0x47fcb1.14
cmp dword [esp + 0x28], edx
je case.0x47fcb1.14
mov ecx, dword [esp + 0x18]
inc ecx
inc ebx
mov dword [esp + 0x18], ecx
cmp ecx, eax
jle 0x47e490
cmp eax, edi
je 0x47c5d3
cmp dword [esp + 0x14], 0
jne 0x47fa70
mov dword [esp + 0x14], ebx
mov ecx, eax
cmp eax, edi
jge 0x47e51b
cmp ebx, dword [ebp + 0x78]
jae 0x47e4f9
movzx eax, byte [ebx]
cmp dword [esp + 0x20], eax
je 0x47e51b
cmp dword [esp + 0x28], eax
je 0x47e51b
inc ecx
inc ebx
cmp ecx, edi
jl 0x47e4dd
jmp 0x47e51b
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47e51b
cmp ebx, dword [ebp + 0x84]
jbe 0x47e51b
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
cmp dword [esp + 0x24], 0
jne 0x47c5d3
cmp ebx, dword [esp + 0x14]
jb 0x47e56e
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x47e53a
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 1
jl 0x47e5a6
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx edx, byte [ebx]
inc ebx
cmp ecx, edx
je case.0x47fcb1.14
mov edx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x18], edx
cmp edx, eax
jle 0x47e580
mov edx, dword [esp + 0x14]
cmp eax, edi
je 0x47c5d3
test edx, edx
jne 0x47fb1a
mov dword [esp + 0x14], ebx
cmp eax, edi
jge 0x47e5f8
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47e5d6
movzx edx, byte [ebx]
cmp dword [esp + 0x20], edx
je 0x47e5f8
inc eax
inc ebx
cmp eax, edi
jl 0x47e5c1
jmp 0x47e5f8
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47e5f8
cmp ebx, dword [ebp + 0x84]
jbe 0x47e5f8
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
cmp dword [esp + 0x24], 0
jne 0x47c5d3
cmp ebx, dword [esp + 0x14]
jb 0x47e64b
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x47e617
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 0x47e717
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 0x47e717
xor edi, edi
mov dword [esp + 0x24], 1
inc esi
jmp 0x47e70f
mov edi, 1
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47e70f
mov eax, 1
xor edi, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], eax
add esi, eax
jmp 0x47e717
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 0x47e717
mov eax, dword [esp + 0x1c]
movsx edi, byte [eax + 0x49b7ab]
lea ecx, [eax - 0x55]
movsx eax, byte [eax + 0x49b7b3]
and ecx, 1
inc esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47e717
mov dword [esp + 0x1c], CreateStatusWindowA
movzx eax, byte [esi]
mov ecx, 1
add esi, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x140], esi
test edi, edi
jle 0x47ea19
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x47fc97.15
jmp dword [eax*4 + 0x480044]
mov dword [esp + 0x18], ecx
cmp edi, ecx
jl 0x47ea19
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f78d
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47e786
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00481180
add esp, 8
test eax, eax
jne case.0x47fcb1.14
mov esi, dword [esp + 0x140]
jmp 0x47e7ab
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47e7ab
mov dl, byte [ebx]
cmp dl, byte [ebp + 0x2c]
jne 0x47e7ab
cmp eax, 1
je case.0x47fcb1.14
mov al, byte [ebx + 1]
cmp al, byte [ebp + 0x2d]
je case.0x47fcb1.14
mov eax, dword [esp + 0x18]
inc eax
inc ebx
mov dword [esp + 0x18], eax
cmp eax, edi
jle 0x47e753
jmp 0x47ea19
mov edx, dword [ebp + 0x78]
sub edx, edi
cmp ebx, edx
ja 0x47fbb2
add ebx, edi
jmp 0x47ea19
mov eax, dword [ebp + 0x78]
sub eax, edi
cmp ebx, eax
ja 0x47fbb2
add ebx, edi
jmp 0x47ea19
cmp edi, ecx
jl 0x47ea19
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f78d
movzx eax, byte [ebx]
sub eax, 0xa
inc ebx
cmp eax, 0x7b
ja case.0x47fcb1.14
movzx eax, byte [eax + 0x480094]
jmp dword [eax*4 + 0x480084]
cmp ebx, edx
jae case.0x47e810.10
cmp byte [ebx], 0xa
jne case.0x47e810.10
inc ebx
jmp case.0x47e810.10
cmp dword [ebp + 0x64], 0
jne case.0x47fcb1.14
inc ecx
cmp ecx, edi
jle 0x47e7f1
jmp 0x47ea19
cmp edi, ecx
jl 0x47ea19
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je case.0x47fcb1.14
cmp eax, 0x20
je case.0x47fcb1.14
cmp eax, 0xa0
je case.0x47fcb1.14
inc ecx
cmp ecx, edi
jle 0x47e842
jmp 0x47ea19
cmp edi, ecx
jl 0x47ea19
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je 0x47e8a1
cmp eax, 0x20
je 0x47e8a1
cmp eax, 0xa0
jne case.0x47fcb1.14
inc ecx
cmp ecx, edi
jle 0x47e880
jmp 0x47ea19
cmp edi, ecx
jl 0x47ea19
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x47e8db
cmp eax, 0xd
jle case.0x47fcb1.14
cmp eax, 0x85
je case.0x47fcb1.14
inc ecx
cmp ecx, edi
jle 0x47e8b6
jmp 0x47ea19
cmp edi, ecx
jl 0x47ea19
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f78d
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl case.0x47fcb1.14
cmp eax, 0xd
jle 0x47e915
cmp eax, 0x85
jne case.0x47fcb1.14
inc ecx
cmp ecx, edi
jle 0x47e8f0
jmp 0x47ea19
mov eax, ecx
cmp edi, ecx
jl 0x47ea19
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 4
jne case.0x47fcb1.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e929
jmp 0x47ea19
mov eax, ecx
cmp edi, ecx
jl 0x47ea19
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 4
je case.0x47fcb1.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e957
jmp 0x47ea19
mov eax, ecx
cmp edi, ecx
jl 0x47ea19
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 1
jne case.0x47fcb1.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e985
jmp 0x47ea19
mov eax, ecx
cmp edi, ecx
jl 0x47ea19
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 1
je case.0x47fcb1.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e9ac
jmp 0x47ea19
mov eax, ecx
cmp edi, ecx
jl 0x47ea19
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 0x10
jne case.0x47fcb1.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e9d3
jmp 0x47ea19
mov eax, ecx
cmp edi, ecx
jl 0x47ea19
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x38]
test byte [ecx + edx], 0x10
je case.0x47fcb1.14
inc eax
inc ebx
cmp eax, edi
jle 0x47e9fa
cmp edi, dword [esp + 0x1c]
je 0x47c5d3
cmp dword [esp + 0x14], 0
jne 0x47fbe6
mov eax, dword [esp + 0x20]
add eax, 0xfffffffa
mov dword [esp + 0x14], ebx
cmp eax, 0xf
ja case.0x47fc97.15
jmp dword [eax*4 + 0x480110]
cmp edi, dword [esp + 0x1c]
jge 0x47ead3
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47eab1
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47ea77
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00481180
add esp, 8
test eax, eax
jne 0x47ead3
jmp 0x47ea94
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47ea94
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne 0x47ea94
cmp eax, 1
je 0x47ead3
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je 0x47ead3
inc edi
inc ebx
cmp edi, dword [esp + 0x1c]
jl 0x47ea53
jmp 0x47ead3
mov ecx, dword [ebp + 0x78]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, edi
sub edx, ebx
cmp eax, edx
jbe 0x47eaea
mov ebx, ecx
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47ead3
cmp ebx, dword [ebp + 0x84]
jbe 0x47ead3
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
cmp dword [esp + 0x24], 0
je 0x47fdd6
mov esi, dword [esp + 0x140]
jmp 0x47c5d3
add ebx, eax
jmp 0x47ead3
mov edx, dword [esp + 0x1c]
cmp edi, edx
jge 0x47ead3
mov ecx, dword [ebp + 0x78]
lea esp, [esp]
cmp ebx, ecx
jae 0x47eab1
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x47eb18
inc ebx
cmp ebx, ecx
jae 0x47ead3
cmp byte [ebx], 0xa
jne 0x47eb35
jmp 0x47eb34
cmp eax, 0xa
je 0x47eb34
cmp dword [ebp + 0x64], 0
jne 0x47ead3
cmp eax, 0xb
je 0x47eb34
cmp eax, 0xc
je 0x47eb34
cmp eax, 0x85
jne 0x47ead3
inc ebx
inc edi
cmp edi, edx
jl 0x47eb00
jmp 0x47ead3
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47ead3
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47eab1
movzx eax, byte [ebx]
cmp eax, 9
je 0x47ead3
cmp eax, 0x20
je 0x47ead3
cmp eax, 0xa0
je 0x47ead3
inc edi
inc ebx
cmp edi, ecx
jl 0x47eb47
jmp 0x47ead3
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47ead3
mov edx, dword [ebp + 0x78]
lea esp, [esp]
cmp ebx, edx
jae 0x47eab1
movzx eax, byte [ebx]
cmp eax, 9
je 0x47ebb0
cmp eax, 0x20
je 0x47ebb0
cmp eax, 0xa0
jne 0x47ead3
inc edi
inc ebx
cmp edi, ecx
jl 0x47eb90
jmp 0x47ead3
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47ead3
mov edx, dword [ebp + 0x78]
lea ebx, [ebx]
cmp ebx, edx
jae 0x47eab1
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x47ead3
cmp eax, 0xb
je 0x47ead3
cmp eax, 0xc
je 0x47ead3
cmp eax, 0xd
je 0x47ead3
cmp eax, 0x85
je 0x47ead3
inc edi
inc ebx
cmp edi, ecx
jl 0x47ebd0
jmp 0x47ead3
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47ead3
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47eab1
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x47ec4e
cmp eax, 0xb
je 0x47ec4e
cmp eax, 0xc
je 0x47ec4e
cmp eax, 0xd
je 0x47ec4e
cmp eax, 0x85
jne 0x47ead3
inc edi
inc ebx
cmp edi, ecx
jl 0x47ec24
jmp 0x47ead3
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47ead3
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47eab1
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 4
jne 0x47ead3
inc edi
inc ebx
cmp edi, eax
jl 0x47ec68
jmp 0x47ead3
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47ead3
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47eab1
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 4
je 0x47ead3
inc edi
inc ebx
cmp edi, eax
jl 0x47ec9a
jmp 0x47ead3
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47ead3
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47eab1
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 1
jne 0x47ead3
inc edi
inc ebx
cmp edi, eax
jl 0x47eccc
jmp 0x47ead3
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47ead3
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47eab1
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 1
je 0x47ead3
inc edi
inc ebx
cmp edi, eax
jl 0x47ecfe
jmp 0x47ead3
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47ead3
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47eab1
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 0x10
jne 0x47ead3
inc edi
inc ebx
cmp edi, eax
jl 0x47ed30
jmp 0x47ead3
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47ead3
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
jae 0x47eab1
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x38]
test byte [edx + esi], 0x10
je 0x47ead3
inc edi
inc ebx
cmp edi, eax
jl 0x47ed62
jmp 0x47ead3
mov eax, dword [ebp + 0x8c]
cmp eax, dword [esp + 0x148]
jle 0x47ed9b
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 0x47edc7
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47edb3
add esi, 3
cmp dword [esp + 0x1c], 0x86
jne 0x47f065
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.0047c520
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 0x47ee50
add esi, 3
push esi
push ebx
call fcn.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
mov esi, dword [esp + 0x24]
jmp 0x47f065
mov eax, dword [esp + 0x38]
push eax
push ebx
mov dword [ebp + 0x98], 2
call fcn.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
jmp 0x47f062
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 0x47f41f
mov eax, dword [esp + 0x1c]
cmp eax, 0x82
jge 0x47eec8
cmp eax, 0x7b
je 0x47eec8
cmp dword [ebp + 0x68], 0
jne 0x47eed2
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
cmp byte [edx + esi], 0x71
je 0x47eed2
movzx edx, byte [esi]
movzx eax, byte [edx + 0x49b2f8]
add esi, eax
jmp 0x47f065
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 + 0x49b2f8]
push ecx
add eax, esi
push eax
push ebx
call fcn.0047c520
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x47ef3f
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 0x47fe45
cmp byte [esi], 0x71
je 0x47ef47
cmp byte [ecx], 0x71
jne 0x47fe45
jmp 0x47ef47
test eax, eax
jne 0x47f54a
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.0x47fcb1.14
jmp case.0x47c5f8.123
mov al, byte [esi]
cmp al, 0x75
je 0x47f699
cmp al, 0x74
jne 0x47effe
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
mov esi, dword [esp + 0x24]
mov al, byte [esi]
cmp al, 0x7b
je 0x47f6b5
cmp al, 0x82
jb 0x47f065
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.0047c520
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 0x47f011
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.0047c520
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x47f04d
mov ecx, dword [ebp + 0xb4]
cmp ecx, dword [esp + 0x24]
jmp 0x47f04f
test eax, eax
jne 0x47fe45
mov edx, dword [esp + 0x24]
cmp byte [edx], 0x7b
je 0x47f6fc
add esi, 3
mov eax, dword [ebp]
mov dword [esp + 0x140], esi
cmp eax, dword [ebp + 4]
jb 0x47c593
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 + 0x49b2f8]
push ecx
movzx ecx, byte [esi + 1]
add eax, esi
add ecx, eax
push ecx
push ebx
call fcn.0047c520
add esp, 0x1c
cmp eax, 1
je 0x47f0f4
cmp eax, 0xfffffc19
jne 0x47f10e
cmp dword [ebp + 0xac], 0
jne 0x47f10e
mov dword [ebp + 0xac], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp eax, 0xfffffc1f
jne 0x47fe45
mov ecx, dword [ebp + 0x7c]
lea esp, [esp]
mov dl, byte [edi]
cmp dl, byte [ecx]
jne 0x47f140
test dl, dl
je 0x47f13c
mov dl, byte [edi + 1]
cmp dl, byte [ecx + 1]
jne 0x47f140
add edi, 2
add ecx, 2
test dl, dl
jne 0x47f120
xor ecx, ecx
jmp 0x47f145
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x47fe45
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 + 0x49b2f8]
push edx
add ecx, esi
push ecx
push ebx
call fcn.0047c520
add esp, 0x1c
test eax, eax
je 0x47f1bc
cmp eax, 0xfffffc1d
je 0x47f1bc
cmp eax, 0xfffffc1e
je 0x47f1bc
cmp eax, 0xfffffc1f
je 0x47f1bc
cmp eax, 0xfffffc20
jne 0x47fe45
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 + 0x49b2f8]
push edx
add ecx, esi
push ecx
push ebx
call fcn.0047c520
add esp, 0x1c
test eax, eax
je 0x47f213
cmp eax, 0xfffffc20
jne 0x47fe45
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 + 0x49b2f8]
push edx
movzx edx, byte [esi + 1]
add ecx, esi
add edx, ecx
push edx
push ebx
call fcn.0047c520
add esp, 0x1c
cmp eax, 1
je 0x47f27c
cmp eax, 0xfffffc19
jne 0x47f204
cmp dword [ebp + 0xac], 0
jne 0x47f204
mov dword [ebp + 0xac], edi
jmp 0x47f204
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 + 0x49b2f8]
push eax
add edx, esi
push edx
push ebx
call fcn.0047c520
add esp, 0x1c
test eax, eax
je 0x47f2e2
cmp eax, 0xfffffc1d
je 0x47f2e2
cmp eax, 0xfffffc20
jne 0x47fe45
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 + 0x49b2f8]
push eax
movzx eax, byte [esi + 1]
add edx, esi
add eax, edx
push eax
push ebx
call fcn.0047c520
add esp, 0x1c
test eax, eax
je 0x47f349
cmp eax, 0xfffffc1d
je 0x47f349
cmp eax, 0xfffffc20
jne 0x47fe45
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 + 0x49b2f8]
push ecx
add eax, esi
push eax
push ebx
call fcn.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
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 + 0x49b2f8]
push ecx
movzx ecx, byte [esi + 1]
add eax, esi
add ecx, eax
push ecx
push ebx
call fcn.0047c520
add esp, 0x1c
cmp eax, 1
je 0x47f40b
cmp eax, 0xfffffc19
jne 0x47f397
cmp dword [ebp + 0xac], 0
jne 0x47f397
mov dword [ebp + 0xac], edi
jmp 0x47f397
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 0x47f474
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 + 0x49b2f8]
push eax
add edx, esi
push edx
push ebx
call fcn.0047c520
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x47f518
cmp eax, 0xfffffc20
jne 0x47f4e4
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 0x47fe45
cmp byte [esi], 0x71
je 0x47f4e0
cmp byte [ecx], 0x71
jne 0x47fe45
xor eax, eax
jmp 0x47f4ec
test eax, eax
jne 0x47fe45
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 0x47f460
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 0x47fe45
mov cl, byte [esi]
cmp cl, 0x7b
je 0x47f584
cmp cl, 0x71
jne 0x47f575
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
je 0x47f561
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 0x47fe45
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [esp + 0x144]
cmp ebx, eax
jne 0x47f5d1
cmp dword [esp + 0x1c], 0x99
je 0x47f5d1
cmp dword [ebp + 0xa4], edx
jne 0x47f5d1
cmp dword [ebp + 0x58], edx
jne case.0x47fcb1.14
cmp dword [ebp + 0x5c], edx
je 0x47f5d1
mov ecx, dword [ebp + 0x94]
add ecx, dword [ebp + 0x74]
cmp eax, ecx
je case.0x47fcb1.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 0x47fe45
push ecx
call dword [0x4a334c]
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
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.0x47fcb1.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x47fcb1.14
mov dword [ebp + 0x60], 1
cmp eax, 1
jle case.0x47fcb1.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 0x47f823
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.0047c490
add esp, 8
test eax, eax
js 0x47f7fa
inc edi
add ebx, eax
cmp edi, dword [esp + 0x1c]
jl 0x47f7d3
jmp 0x47f81d
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47f81d
cmp ebx, dword [ebp + 0x78]
jb 0x47f81d
cmp ebx, dword [ebp + 0x84]
jbe 0x47f81d
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
cmp ebx, dword [esp + 0x14]
jb 0x47f868
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
sub ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x14]
jae 0x47f831
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.0x47fcb1.14
cmp ebx, dword [ebp + 0x78]
jb case.0x47fcb1.14
jmp 0x47f79b
mov dword [esp + 0x14], ebx
cmp eax, edi
jge 0x47f8eb
cmp ebx, dword [ebp + 0x78]
jae 0x47f8c3
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 0x47f8e5
inc eax
inc ebx
cmp eax, edi
jl 0x47f899
jmp 0x47f8e5
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x47f8e5
cmp ebx, dword [ebp + 0x84]
jbe 0x47f8e5
mov dword [ebp + 0x60], 1
cmp eax, 1
jg 0x47f7b7
cmp ebx, dword [esp + 0x14]
jb 0x47f92d
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x47f8f9
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
cmp dword [esp + 0x18], edi
jge case.0x47fcb1.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
cmp dword [esp + 0x20], eax
je 0x47f998
cmp dword [esp + 0x28], eax
jne case.0x47fcb1.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.0047c520
add esp, 0x1c
test eax, eax
je 0x47f972
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
cmp dword [esp + 0x18], edi
jge case.0x47fcb1.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx edx, byte [ebx]
inc ebx
cmp dword [esp + 0x20], edx
jne case.0x47fcb1.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.0047c520
add esp, 0x1c
test eax, eax
je 0x47fa10
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
jmp 0x47fab0
cmp dword [esp + 0x18], edi
jge case.0x47fcb1.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx eax, byte [ebx]
cmp dword [esp + 0x20], eax
je case.0x47fcb1.14
cmp dword [esp + 0x28], eax
je case.0x47fcb1.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.0047c520
add esp, 0x1c
test eax, eax
je 0x47fab0
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
cmp dword [esp + 0x18], edi
jge case.0x47fcb1.14
cmp ebx, dword [ebp + 0x78]
jae 0x47f78d
movzx ecx, byte [ebx]
inc ebx
cmp dword [esp + 0x20], ecx
je case.0x47fcb1.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.0047c520
add esp, 0x1c
test eax, eax
je 0x47fb52
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
mov eax, dword [ebp + 0x88]
test eax, eax
je case.0x47fcb1.14
cmp ebx, dword [ebp + 0x84]
jbe case.0x47fcb1.14
mov dword [ebp + 0x60], ecx
cmp eax, ecx
jmp 0x47f7b1
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
cmp edi, dword [esp + 0x1c]
jge case.0x47fcb1.14
mov edx, dword [ebp + 0x78]
cmp ebx, edx
jae 0x47f78d
cmp dword [esp + 0x20], 0xc
jne 0x47fc83
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47fc5e
push 0
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.00481180
add esp, 8
test eax, eax
jne case.0x47fcb1.14
mov esi, dword [esp + 0x140]
jmp 0x47fc83
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47fc83
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne 0x47fc83
cmp eax, 1
je case.0x47fcb1.14
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je case.0x47fcb1.14
mov ecx, dword [esp + 0x20]
movzx eax, byte [ebx]
add ecx, 0xfffffffa
inc ebx
cmp ecx, 0xf
ja case.0x47fc97.15
jmp dword [ecx*4 + 0x480150]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x47fcb1.14
movzx eax, byte [eax + 0x4801a0]
jmp dword [eax*4 + 0x480190]
cmp ebx, dword [ebp + 0x78]
jae case.0x47fc97.12
cmp byte [ebx], 0xa
jne case.0x47fc97.12
inc ebx
jmp case.0x47fc97.12
cmp dword [ebp + 0x64], 0
jne case.0x47fcb1.14
jmp case.0x47fc97.12
cmp eax, 9
je case.0x47fcb1.14
cmp eax, 0x20
je case.0x47fcb1.14
cmp eax, 0xa0
jmp 0x47fd90
cmp eax, 9
je case.0x47fc97.12
cmp eax, 0x20
je case.0x47fc97.12
cmp eax, 0xa0
jne case.0x47fcb1.14
jmp case.0x47fc97.12
cmp eax, 0xa
jb case.0x47fc97.12
cmp eax, 0xd
jbe case.0x47fcb1.14
cmp eax, 0x85
jmp 0x47fd90
cmp eax, 0xa
jb case.0x47fcb1.14
cmp eax, 0xd
jbe case.0x47fc97.12
cmp eax, 0x85
jne case.0x47fcb1.14
jmp case.0x47fc97.12
mov ecx, dword [ebp + 0x38]
test byte [eax + ecx], 4
jne case.0x47fcb1.14
jmp case.0x47fc97.12
mov edx, dword [ebp + 0x38]
test byte [eax + edx], 4
jmp 0x47fd90
mov ecx, dword [ebp + 0x38]
test byte [eax + ecx], 1
jne case.0x47fcb1.14
jmp case.0x47fc97.12
mov edx, dword [ebp + 0x38]
test byte [eax + edx], 1
jmp 0x47fd90
mov ecx, dword [ebp + 0x38]
test byte [eax + ecx], 0x10
jne case.0x47fcb1.14
jmp case.0x47fc97.12
mov edx, dword [ebp + 0x38]
test byte [eax + edx], 0x10
je case.0x47fcb1.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.0047c520
add esp, 0x1c
test eax, eax
je 0x47fc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret
cmp ebx, dword [esp + 0x14]
jb 0x47fe33
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.0047c520
add esp, 0x1c
test eax, eax
jne 0x47fe45
dec ebx
cmp dword [esp + 0x20], 0x11
jne 0x47fe2d
cmp ebx, dword [esp + 0x14]
jbe 0x47fe31
cmp byte [ebx], 0xa
jne 0x47fe2d
cmp byte [ebx - 1], 0xd
jne 0x47fe2d
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x47fdea
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