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

Disassembly:
sub esp, 0x134
push ebx
push ebp
mov ebp, dword [esp + 0x154]
mov eax, dword [ebp]
push esi
push edi
cmp eax, dword [ebp + 4]
jae 0x47c22a
mov esi, dword [esp + 0x14c]
mov ebx, dword [esp + 0x148]
jmp 0x4798f0
mov ecx, dword [esp + 0x164]
inc dword [ebp]
cmp ecx, dword [ebp + 8]
jae 0x47c2f0
cmp dword [ebp + 0x84], 2
jne 0x479930
mov edx, dword [esp + 0x160]
lea eax, [esp + 0x50]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x160], eax
mov dword [ebp + 0x84], 0
mov cl, byte [esi]
movzx eax, cl
xor edx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
cmp eax, 0x9a
ja case.0x479955.15
movzx eax, byte [eax + 0x47d4d0]
jmp dword [eax*4 + 0x47d398]
mov dword [esp + 0x14], edx
jmp 0x47a4b4
movzx edi, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edi, 8
or edi, ecx
cmp byte [esi + 3], 0x70
jne 0x479a59
mov ecx, dword [0x4a4c3c]
test ecx, ecx
je 0x479a56
movzx edx, byte [esi + 4]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x94], edx
mov edx, dword [ebp + 0x64]
sub edx, eax
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x150]
sub edx, eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa4], edx
mov edx, ebx
sub edx, eax
movzx eax, byte [esi + 5]
shl eax, 8
mov dword [esp + 0xa8], edx
movzx edx, byte [esi + 6]
or eax, edx
movzx edx, byte [esi + 8]
mov dword [esp + 0xb8], eax
movzx eax, byte [esi + 7]
shl eax, 8
or eax, edx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x158]
cdq
sub eax, edx
mov edx, dword [ebp + 0x94]
sar eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [ebp + 0x7c]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x154]
lea edx, [esp + 0x90]
push edx
mov dword [esp + 0x94], 2
mov dword [esp + 0xc4], eax
call ecx
add esp, 4
test eax, eax
jg case.0x479955.150
js 0x47d38a
add esi, 0xa
movzx ecx, byte [esi + 3]
lea eax, [esi + 3]
cmp ecx, 0x88
je 0x479cb3
cmp ecx, 0x89
je 0x479cb3
cmp ecx, 0x86
je 0x479b08
cmp ecx, 0x87
je 0x479b08
cmp ecx, 0x8a
jne 0x479aa8
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
jmp 0x479e42
mov edx, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x158]
push 0
push ebp
push ecx
mov ecx, dword [esp + 0x160]
push edx
push ecx
push eax
push ebx
mov dword [ebp + 0x84], 1
call fcn.004798c0
add esp, 0x20
cmp eax, 1
je 0x47c23d
test eax, eax
je 0x479b01
cmp eax, 0xfffffc20
jne 0x47d38a
cmp dword [ebp + 0x68], esi
jne 0x47d38a
add esi, edi
jmp 0x479e42
movzx eax, byte [esi + 4]
movzx edx, byte [esi + 5]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [esp + 0x158]
jge 0x479b2d
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jge 0x479ca1
mov dword [esp + 0x18], 0
cmp ecx, 0x87
jne 0x479c8f
mov ecx, dword [ebp + 0x28]
sar eax, 1
cmp dword [ebp + 0x20], 0
mov edx, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], 0
jle 0x479b89
lea ebx, [ebx]
movzx edi, byte [edx]
movzx edx, byte [edx + 1]
shl edi, 8
or edi, edx
mov edx, dword [esp + 0x20]
cmp edi, eax
je 0x479b89
mov edi, dword [esp + 0x14]
add edx, dword [ebp + 0x24]
inc edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], edi
cmp edi, dword [ebp + 0x20]
jl 0x479b60
mov eax, dword [esp + 0x14]
cmp eax, dword [ebp + 0x20]
jge 0x479c8f
cmp edx, ecx
jbe 0x479c0a
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 0x479bd0
test cl, cl
je 0x479bcc
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x479bd0
add eax, 2
add edi, 2
test cl, cl
jne 0x479bb0
xor eax, eax
jmp 0x479bd5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x479c0a
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x158]
jge 0x479bfd
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x479ca1
mov dword [esp + 0x18], 0
cmp edx, dword [ebp + 0x28]
ja 0x479ba0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc eax
mov edx, ecx
mov dword [esp + 0x14], eax
cmp eax, dword [ebp + 0x20]
jge 0x479c8f
add ecx, 2
mov dword [esp + 0x28], ecx
add edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x28]
lea edi, [edx + 2]
nop
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x479c50
test cl, cl
je 0x479c4c
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x479c50
add eax, 2
add edi, 2
test cl, cl
jne 0x479c30
xor eax, eax
jmp 0x479c55
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x479c8f
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x158]
jge 0x479c79
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x479ca1
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
cmp eax, dword [ebp + 0x20]
jl 0x479c25
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
jmp 0x479e35
mov dword [esp + 0x18], 1
mov eax, 3
jmp 0x479e35
mov edx, dword [ebp + 0x90]
test edx, edx
jne 0x479cd1
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
jmp 0x479e42
movzx eax, byte [esi + 4]
movzx edi, byte [esi + 5]
shl eax, 8
or eax, edi
cmp eax, 0xffff
je 0x479ca1
mov edx, dword [edx + 0xc]
mov dword [esp + 0x28], edx
cmp eax, edx
je 0x479ca1
xor edi, edi
mov dword [esp + 0x18], edi
cmp ecx, 0x89
jne 0x479e28
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], edi
cmp dword [ebp + 0x20], edi
jle 0x479d37
movzx edi, byte [edx]
movzx ecx, byte [edx + 1]
shl edi, 8
or ecx, edi
cmp ecx, eax
je 0x479d33
mov ecx, dword [esp + 0x14]
add edx, dword [ebp + 0x24]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [ebp + 0x20]
jl 0x479d12
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x14]
cmp eax, dword [ebp + 0x20]
jge 0x479e28
cmp edx, dword [ebp + 0x28]
jbe 0x479da5
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 0x479d76
test cl, cl
je 0x479d72
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x479d76
add eax, 2
add edi, 2
test cl, cl
jne 0x479d56
xor eax, eax
jmp 0x479d7b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x479da5
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
xor eax, eax
cmp ecx, dword [esp + 0x28]
sete al
mov dword [esp + 0x18], eax
test eax, eax
jne 0x479ca9
cmp edx, dword [ebp + 0x28]
ja 0x479d49
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc eax
mov edx, ecx
mov dword [esp + 0x14], eax
cmp eax, dword [ebp + 0x20]
jge 0x479e28
add ecx, 2
mov dword [esp + 0x34], ecx
add edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x34]
lea edi, [edx + 2]
lea ebx, [ebx]
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x479df0
test cl, cl
je 0x479dec
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x479df0
add eax, 2
add edi, 2
test cl, cl
jne 0x479dd0
xor eax, eax
jmp 0x479df5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x479e28
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
xor eax, eax
cmp ecx, dword [esp + 0x28]
sete al
mov dword [esp + 0x18], eax
test eax, eax
jne 0x479ca9
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ebp + 0x20]
jl 0x479dc0
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp dword [esp + 0x18], 0
jne 0x47c284
cmp byte [esi], 0x71
je 0x47c284
add esi, 3
mov dword [esp + 0x14c], esi
jmp 0x479930
movzx eax, byte [esi + 1]
movzx edx, byte [esi + 2]
shl eax, 8
or eax, edx
lea ecx, [eax + eax]
mov dword [ebp + 0x7c], eax
cmp ecx, dword [ebp + 0x14]
jl 0x479e88
add esi, 3
mov dword [ebp + 0x38], 1
mov dword [esp + 0x14c], esi
jmp 0x479930
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 + 0x60]
mov dword [eax + ecx*4 + 4], edx
cmp dword [esp + 0x158], ecx
jg 0x479eb5
add ecx, 2
mov dword [esp + 0x158], ecx
add esi, 3
mov dword [esp + 0x14c], esi
jmp 0x479930
mov eax, 1
cmp dword [ebp + 0x84], eax
jne 0x479edd
mov dword [esp + 0x18], eax
mov dword [ebp + 0x84], edx
jmp 0x479ee1
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x154]
inc ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x150]
push edx
push 0
push ebp
push eax
push edi
push ecx
lea edx, [esi + 3]
push edx
push ebx
call fcn.004798c0
add esp, 0x20
cmp eax, 1
je 0x479f54
cmp eax, 0xfffffc19
je 0x479f54
test eax, eax
je 0x479f3e
cmp eax, 0xfffffc20
jne 0x47d38a
cmp dword [ebp + 0x68], esi
jne 0x47d38a
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x479ef4
jmp 0x479f6b
mov edx, dword [ebp + 0x68]
mov edi, dword [ebp + 0x98]
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], edi
cmp byte [esi], 0x72
je 0x47c97f
cmp dword [esp + 0x18], 0
jne 0x47cb22
nop
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x479f80
mov edx, dword [ebp + 0x78]
add esi, 3
mov dword [esp + 0x14c], esi
mov dword [esp + 0x158], edx
jmp 0x479930
mov eax, 1
cmp dword [ebp + 0x84], eax
jne 0x479fc6
mov dword [esp + 0x18], eax
mov dword [ebp + 0x84], edx
jmp 0x479fca
mov dword [esp + 0x18], edx
mov edi, dword [esp + 0x164]
inc edi
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x150]
push edi
push 0
push ebp
push eax
push ecx
push edx
lea eax, [esi + 3]
push eax
push ebx
call fcn.004798c0
add esp, 0x20
cmp eax, 1
je case.0x479955.150
cmp eax, 0xfffffc19
je case.0x479955.150
cmp eax, 0xfffffc1e
je 0x47a052
cmp eax, 0xfffffc1d
je 0x47a052
cmp eax, 0xfffffc1a
je 0x47a052
test eax, eax
je 0x47a03c
cmp eax, 0xfffffc20
jne 0x47d38a
cmp dword [ebp + 0x68], esi
jne 0x47d38a
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
je 0x479fd2
jmp 0x47a066
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47a052
cmp dword [esp + 0x18], 0
jne 0x47cb22
add esi, 3
mov dword [esp + 0x14c], esi
jmp 0x479930
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
sub ebx, edx
cmp ebx, dword [ebp + 0x60]
jb case.0x47d1c0.14
cmp ebx, dword [ebp + 0x70]
jae 0x47a0a0
mov dword [ebp + 0x70], ebx
add esi, 3
mov dword [esp + 0x14c], esi
jmp 0x479930
mov ecx, dword [0x4a4c3c]
test ecx, ecx
je 0x47a172
movzx edx, byte [esi + 1]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0x64]
sub edx, eax
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x150]
sub edx, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], edx
mov edx, ebx
sub edx, eax
movzx eax, byte [esi + 6]
shl eax, 8
mov dword [esp + 0x70], edx
movzx edx, byte [esi + 7]
or eax, edx
movzx edx, byte [esi + 9]
mov dword [esp + 0x80], eax
movzx eax, byte [esi + 8]
mov edi, dword [esp + 0x154]
shl eax, 8
or eax, edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x158]
cdq
sub eax, edx
mov edx, dword [ebp + 0x94]
sar eax, 1
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x7c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov eax, dword [esi + 2]
lea edx, [esp + 0x58]
push edx
mov dword [esp + 0x5c], 2
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], eax
call ecx
add esp, 4
test eax, eax
jg 0x47c97f
js 0x47d38a
add esi, 0xa
mov dword [esp + 0x14c], esi
jmp 0x479930
movzx edi, byte [esi + 1]
movzx ecx, byte [esi + 2]
mov eax, dword [ebp + 0x5c]
shl edi, 8
or edi, ecx
add edi, eax
cmp edi, eax
jne 0x47a19b
xor ecx, ecx
jmp 0x47a1a8
movzx ecx, byte [edi + 3]
movzx edx, byte [edi + 4]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp + 0x90]
mov eax, edx
test eax, eax
je 0x47a1c8
cmp ecx, dword [eax + 0xc]
jne 0x47a1c2
cmp ebx, dword [eax + 0x10]
je 0x47c992
mov eax, dword [eax]
test eax, eax
jne 0x47a1b4
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x10]
add esi, 3
lea eax, [esp + 0x3c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], edx
mov dword [ebp + 0x90], eax
mov dword [esp + 0x14c], esi
mov dword [esp + 0x44], ecx
cmp ecx, 0x1e
jg 0x47a201
lea eax, [esp + 0xc8]
mov dword [esp + 0x40], eax
jmp 0x47a21f
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x49f338]
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
je 0x47c9a2
mov ecx, dword [esp + 0x44]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
call fcn.00487060
mov edx, dword [esp + 0x170]
add esp, 0xc
cmp byte [edi], 0x81
sbb eax, eax
inc eax
inc edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edx
lea ebx, [ebx]
cmp dword [esp + 0x18], 0
je 0x47a261
mov dword [ebp + 0x84], 2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
push eax
mov eax, dword [esp + 0x158]
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x498100]
push ecx
add eax, edi
push eax
push ebx
call fcn.004798c0
mov ecx, dword [esp + 0x64]
lea edx, [ecx*4]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.00487060
add esp, 0x2c
cmp dword [esp + 0x28], 1
je 0x47a348
mov eax, dword [esp + 0x28]
cmp eax, 0xfffffc19
je 0x47a348
test eax, eax
je 0x47a2e9
cmp eax, 0xfffffc20
jne 0x47c9b2
cmp dword [ebp + 0x68], esi
jne 0x47c9b2
lea edx, [esp + 0x3c]
mov dword [ebp + 0x90], edx
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x71
je 0x47a250
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x90], eax
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0xc8]
cmp eax, ecx
je 0x47a32e
push eax
call dword [0x49f33c]
add esp, 4
mov edx, dword [esp + 0x154]
mov dword [ebp + 0x98], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0xc8]
mov dword [ebp + 0x90], edx
cmp eax, ecx
je 0x47a36b
push eax
call dword [0x49f33c]
add esp, 4
mov edx, dword [ebp + 0x68]
mov ebx, dword [ebp + 0x6c]
mov dword [esp + 0x150], edx
jmp 0x479930
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.0x479955.113
mov dword [esp + 0x14c], esi
jmp 0x479930
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x158]
push eax
mov eax, dword [esp + 0x158]
push ebp
push ecx
push edx
push eax
inc esi
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
lea ecx, [ecx]
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
je 0x47a3e0
add esi, 3
mov dword [esp + 0x14c], esi
jmp 0x479930
inc esi
mov eax, esi
jmp 0x47a410
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x71
je 0x47a410
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
inc ecx
push ecx
mov ecx, dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x15c]
push ebp
push ecx
mov ecx, dword [esp + 0x160]
push edx
push ecx
add eax, 3
push eax
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
mov dword [esp + 0x14c], esi
jmp 0x479930
inc esi
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47a470
add esi, 3
mov dword [esp + 0x14c], esi
jmp 0x479930
movzx eax, byte [esi + 1]
inc esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 1
cmp eax, 0x7f
je 0x47a4b4
cmp eax, 0x84
jne 0x47a64d
movzx eax, byte [esi + 3]
movzx ecx, byte [esi + 4]
shl eax, 8
or eax, ecx
mov dword [esp + 0x18], eax
add eax, eax
mov dword [esp + 0x30], eax
cmp eax, dword [ebp + 0x14]
jge case.0x479955.125
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], edx
mov edx, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x10]
sub edx, dword [esp + 0x18]
mov edi, esi
mov eax, dword [eax + edx*4]
mov edx, dword [esp + 0x164]
sub edi, dword [ebp + 0x5c]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + 0x7c]
inc edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], edx
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0xc]
mov eax, ebx
sub eax, dword [ebp + 0x60]
cmp dword [esp + 0x1c], 0x81
mov dword [edx + ecx*4], eax
jl 0x47a53a
mov dword [ebp + 0x84], 2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
push eax
mov eax, dword [esp + 0x158]
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
movzx edx, byte [esi]
push eax
movzx eax, byte [edx + 0x498100]
push ecx
add eax, esi
push eax
push ebx
call fcn.004798c0
add esp, 0x20
cmp eax, 0xfffffc1b
jne 0x47a5a3
mov ecx, dword [ebp + 0x78]
mov esi, dword [ebp + 0x5c]
mov edx, dword [ebp + 0x7c]
mov ebx, dword [ebp + 0x6c]
mov dword [esp + 0x158], ecx
add esi, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], 1
jmp 0x47a514
test eax, eax
je 0x47a5bb
cmp eax, 0xfffffc20
jne 0x47d38a
cmp dword [ebp + 0x68], esi
jne 0x47d38a
mov ecx, dword [esp + 0x2c]
mov dword [ebp + 0x7c], ecx
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
or edx, ecx
add esi, edx
cmp byte [esi], 0x71
je 0x47a514
cmp dword [esp + 0x20], 0
jne 0x47a60b
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov dword [edx + ecx*4], edi
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x34]
mov dword [edx + ecx*4 + 4], edi
mov ecx, dword [ebp + 0x10]
sub ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x28]
mov dword [edx + ecx*4], edi
cmp eax, 0xfffffc20
je 0x47a628
cmp dword [ebp + 0x98], 0
jne 0x47a628
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x98], eax
cmp dword [esp + 0x14], 0
jne 0x47a63a
cmp dword [esp + 0x20], 0
je 0x47cdf8
add esi, 3
mov dword [esp + 0x14c], esi
jmp 0x479930
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
mov eax, esi
sub eax, dword [ebp + 0x5c]
inc ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
lea ecx, [ecx]
cmp dword [esp + 0x1c], 0x81
jl 0x47a684
mov dword [ebp + 0x84], 2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x154]
push eax
movzx eax, byte [esi]
push ebp
push edi
push ecx
movzx ecx, byte [eax + 0x498100]
push edx
add ecx, esi
push ecx
push ebx
call fcn.004798c0
add esp, 0x20
cmp eax, 0xfffffc1b
jne 0x47a6de
mov edi, dword [ebp + 0x78]
mov esi, dword [ebp + 0x5c]
mov ebx, dword [ebp + 0x6c]
add esi, dword [esp + 0x28]
mov dword [esp + 0x158], edi
mov dword [esp + 0x20], 1
jmp 0x47a670
test eax, eax
je 0x47a6f6
cmp eax, 0xfffffc20
jne 0x47d38a
cmp dword [ebp + 0x68], esi
jne 0x47d38a
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47a670
cmp dword [esp + 0x20], 0
jne 0x47a720
cmp dword [esp + 0x14], 0
je 0x47cdf8
add esi, 3
mov dword [esp + 0x14c], esi
jmp 0x479930
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 + 0x20], ecx
cmp al, 0x81
jae 0x47a758
cmp al, 0x7b
je 0x47a758
mov dword [esp + 0x28], 0
jmp 0x47a76f
mov edx, dword [esp + 0x160]
mov edi, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x28], edi
mov dword [esp + 0x160], edx
cmp al, 0x77
je 0x47cafe
cmp al, 0x78
je 0x47cafe
cmp al, 0x79
je 0x47cafe
cmp al, 0x7a
je 0x47cafe
cmp al, 0x7e
je 0x47a7a3
cmp al, 0x83
je 0x47a7a3
cmp al, 0x7f
je 0x47a7a3
cmp al, 0x84
jne 0x47a83a
movzx edx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
mov edi, dword [ebp + 0x90]
shl edx, 8
or edx, eax
lea eax, [edx + edx]
mov dword [esp + 0x30], eax
test edi, edi
je 0x47a7ca
cmp dword [edi + 0xc], edx
je 0x47c9de
mov edi, dword [esp + 0x158]
mov dword [ebp + 0x7c], edx
cmp eax, dword [ebp + 0x14]
jl 0x47a7e2
mov dword [ebp + 0x38], 1
jmp 0x47a841
cmp eax, edi
jle 0x47a80a
mov ecx, dword [ebp + 0xc]
lea edi, [ecx + edi*4]
lea ecx, [ecx + eax*4]
cmp edi, ecx
jae 0x47a803
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x158]
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 + 0x60]
mov dword [edx + eax*4 + 4], ecx
mov ecx, dword [esp + 0x20]
cmp edi, eax
jg 0x47a841
lea edi, [eax + 2]
mov dword [esp + 0x158], edi
jmp 0x47a841
mov edi, dword [esp + 0x158]
cmp byte [esi], 0x72
je 0x47a850
cmp ebx, dword [esp + 0x28]
jne 0x47c108
add esi, 3
cmp byte [ecx], 0x7b
je 0x47caaf
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp dword [ebp + 0x3c], edx
je case.0x479955.1
cmp ebx, dword [ebp + 0x60]
je case.0x47bb10.14
cmp ebx, dword [ebp + 0x60]
jne case.0x479955.150
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp dword [ebp + 0x3c], edx
je 0x47a89a
cmp ebx, dword [ebp + 0x60]
je case.0x47d1c0.14
mov edx, dword [ebp + 0x60]
cmp ebx, edx
je 0x47a910
cmp ebx, dword [ebp + 0x64]
je case.0x47bb10.14
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47a8e3
cmp ebx, edx
jbe case.0x47bb10.14
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.0047e5d0
add esp, 4
test eax, eax
je case.0x47bb10.14
mov esi, dword [esp + 0x14c]
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
mov eax, dword [ebp + 0x1c]
add edx, eax
cmp ebx, edx
jb case.0x47bb10.14
mov edi, ebx
sub edi, eax
mov cl, byte [edi]
cmp cl, byte [ebp + 0x2c]
jne case.0x47bb10.14
cmp eax, 1
je 0x47a910
mov dl, byte [edi + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47bb10.14
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
mov eax, dword [ebp + 0x80]
add eax, dword [ebp + 0x60]
cmp ebx, eax
jne case.0x479955.150
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
inc esi
mov dword [esp + 0x150], ebx
mov dword [esp + 0x14c], esi
jmp 0x479930
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47a9c4
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47a987
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.0047e540
add esp, 4
test eax, eax
je case.0x47d1c0.14
mov esi, dword [esp + 0x14c]
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja case.0x47d1c0.14
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x47d1c0.14
cmp eax, 1
je 0x47a973
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47d1c0.14
mov esi, dword [esp + 0x14c]
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp dword [ebp + 0x40], 0
jne case.0x47bb10.14
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47a97a
cmp ebx, dword [ebp + 0x70]
jbe 0x47a97a
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb56
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp dword [ebp + 0x40], edx
jne case.0x47d1c0.14
cmp dword [ebp + 0x48], edx
je case.0x479955.23
cmp ebx, dword [ebp + 0x64]
jb case.0x47bb10.14
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47aa2a
cmp ebx, dword [ebp + 0x70]
jbe 0x47aa2a
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb56
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47aa9b
mov eax, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test eax, eax
je 0x47aa66
push eax
mov esi, edi
mov ecx, ebx
call fcn.0047e540
add esp, 4
test eax, eax
je case.0x47d1c0.14
mov esi, dword [esp + 0x14c]
jmp 0x47aa8e
mov eax, dword [edi]
sub edx, eax
cmp ebx, edx
ja case.0x47d1c0.14
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x47d1c0.14
cmp eax, 1
je 0x47aa8e
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
jne case.0x47d1c0.14
mov eax, dword [ebp + 0x64]
sub eax, dword [edi]
cmp ebx, eax
jne case.0x47d1c0.14
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47aab7
cmp ebx, dword [ebp + 0x70]
jbe 0x47aab7
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb97
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x60]
jne 0x47aacd
xor edi, edi
jmp 0x47aae9
cmp ebx, dword [ebp + 0x70]
ja 0x47aad8
lea ecx, [ebx - 1]
mov dword [ebp + 0x70], ecx
movzx edx, byte [ebx - 1]
mov eax, dword [ebp + 0x34]
movzx edi, byte [edx + eax]
shr edi, 4
and edi, 1
cmp ebx, dword [ebp + 0x64]
jb 0x47ab0e
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47ab0a
cmp ebx, dword [ebp + 0x70]
jbe 0x47ab0a
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb56
xor eax, eax
jmp 0x47ab1e
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x34]
movzx eax, byte [edx + ecx]
shr eax, 4
and eax, 1
mov cl, byte [esi]
inc esi
mov dword [esp + 0x14c], esi
cmp cl, 5
jne 0x47ab38
xor edx, edx
cmp eax, edi
sete dl
mov eax, edx
jmp 0x47ab41
xor ecx, ecx
cmp eax, edi
setne cl
mov eax, ecx
test eax, eax
je 0x479930
mov ecx, dword [esp + 0x154]
mov dword [ebp + 0x98], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x64]
test eax, eax
je 0x47ab89
cmp ebx, edx
jae case.0x479955.13
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.0047e540
add esp, 4
test eax, eax
jne case.0x47bb10.14
jmp 0x47abae
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja case.0x479955.13
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne case.0x479955.13
cmp eax, 1
je case.0x47bb10.14
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je case.0x47bb10.14
mov esi, dword [esp + 0x14c]
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
inc ebx
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cb73
inc ebx
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cbb4
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x34]
inc ebx
test byte [eax + ecx], 4
jne case.0x479955.150
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cbb4
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x34]
inc ebx
test byte [eax + edx], 4
je case.0x479955.150
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cbb4
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x34]
inc ebx
test byte [eax + ecx], 1
jne case.0x479955.150
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cbb4
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x34]
inc ebx
test byte [eax + edx], 1
je case.0x479955.150
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cbb4
movzx eax, byte [ebx]
mov ecx, dword [ebp + 0x34]
inc ebx
test byte [eax + ecx], 0x10
jne case.0x479955.150
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cbb4
movzx eax, byte [ebx]
mov edx, dword [ebp + 0x34]
inc ebx
test byte [eax + edx], 0x10
je case.0x479955.150
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47cbb4
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xd
ja 0x47ad0a
je 0x47acf3
cmp eax, 0xa
je 0x47ad30
jbe case.0x479955.150
cmp eax, 0xc
jmp 0x47ad21
cmp ebx, ecx
jae 0x47ad30
cmp byte [ebx], 0xa
jne 0x47ad30
inc ebx
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp eax, 0x85
je 0x47ad27
cmp eax, 0x2027
jbe case.0x479955.150
cmp eax, 0x2029
ja case.0x479955.150
cmp dword [ebp + 0x58], edx
jne case.0x47d1c0.14
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cb73
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x180e
ja 0x47ad79
je case.0x47d1c0.14
cmp eax, 0xa0
ja 0x47ad72
je case.0x47d1c0.14
cmp eax, 9
je case.0x47d1c0.14
cmp eax, 0x20
jmp 0x47ada4
cmp eax, 0x1680
jmp 0x47ada4
cmp eax, 0x205f
ja 0x47ad9f
je case.0x47d1c0.14
cmp eax, 0x2000
jb 0x47adaa
cmp eax, 0x200a
jbe case.0x47d1c0.14
cmp eax, 0x202f
jmp 0x47ada4
cmp eax, 0x3000
je case.0x47d1c0.14
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cb73
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x180e
ja 0x47ade7
je 0x47ae14
cmp eax, 0xa0
ja 0x47ade0
je 0x47ae14
cmp eax, 9
je 0x47ae14
cmp eax, 0x20
jmp 0x47ae0e
cmp eax, 0x1680
jmp 0x47ae0e
cmp eax, 0x205f
ja 0x47ae09
je 0x47ae14
cmp eax, 0x2000
jb case.0x47d1c0.14
cmp eax, 0x200a
jbe 0x47ae14
cmp eax, 0x202f
jmp 0x47ae0e
cmp eax, 0x3000
jne case.0x47d1c0.14
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cb73
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x85
ja 0x47ae45
je case.0x47d1c0.14
cmp eax, 0xa
jb 0x47ae57
cmp eax, 0xd
jmp 0x47ae51
cmp eax, 0x2028
jb 0x47ae57
cmp eax, 0x2029
jbe case.0x47d1c0.14
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
cmp ebx, dword [ebp + 0x64]
jae 0x47cb73
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x85
ja 0x47ae88
je 0x47ae9e
cmp eax, 0xa
jb case.0x47d1c0.14
cmp eax, 0xd
jmp 0x47ae98
cmp eax, 0x2028
jb case.0x47d1c0.14
cmp eax, 0x2029
ja case.0x47d1c0.14
inc esi
mov dword [esp + 0x14c], esi
jmp 0x479930
movzx edi, byte [esi + 1]
movzx ecx, byte [esi + 2]
xor eax, eax
cmp dword [esp + 0x1c], 0x6e
sete al
shl edi, 8
or edi, ecx
add edi, edi
add esi, 3
mov dword [esp + 0x14c], esi
mov dword [esp + 0x30], eax
cmp edi, dword [esp + 0x158]
jge 0x47aeef
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + edi*4]
lea eax, [edx + edi*4]
test ecx, ecx
js 0x47aeef
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x47aef9
mov edx, dword [ebp + 0x44]
neg edx
sbb edx, edx
neg edx
dec edx
movzx eax, byte [esi]
lea ecx, [eax - 0x62]
mov dword [esp + 0x20], edx
cmp ecx, 7
ja case.default.0x47af13
movzx ecx, byte [ecx + 0x47d574]
jmp dword [ecx*4 + 0x47d56c]
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [esp + 0x18], ecx
movsx ecx, byte [eax + 0x49857e]
movsx eax, byte [eax + 0x498586]
inc esi
mov dword [esp + 0x14c], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47af98
mov eax, SysReAllocString
mov dword [esp + 0x1c], eax
jmp 0x47af98
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
xor edx, edx
cmp byte [esi], 0x69
sete dl
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 3]
shl eax, 8
mov dword [esp + 0x18], edx
movzx edx, byte [esi + 4]
or eax, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], eax
jne 0x47af8a
mov eax, SysReAllocString
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x20]
add esi, 5
mov dword [esp + 0x14c], esi
test edx, edx
je 0x479930
mov dword [esp + 0x14], 1
cmp ecx, 1
jl 0x47afe7
lea ecx, [ecx]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
push eax
push edi
mov ecx, ebp
mov eax, ebx
call fcn.00479830
add esp, 8
test eax, eax
js 0x47ccb8
add ebx, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x2c]
jle 0x47afb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x479930
cmp dword [esp + 0x18], 0
je 0x47cbf5
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov ecx, dword [esp + 0x2c]
inc eax
push eax
push edx
mov edx, dword [esp + 0x158]
push ebp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x164]
push eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x164]
push ecx
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jge case.0x47d1c0.14
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
push ecx
push edi
mov ecx, ebp
mov eax, ebx
call fcn.00479830
add esp, 8
test eax, eax
js 0x47ccb8
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x158]
inc dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x158]
add ebx, eax
mov eax, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x158]
push ebp
push ecx
push edx
push eax
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47b042
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
push ecx
push edi
mov ecx, ebp
mov eax, ebx
call fcn.00479830
add esp, 8
test eax, eax
js 0x47ccb8
add ebx, eax
jmp 0x479930
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 + 0x14c], esi
cmp edi, 7
ja case.default.0x47b101
movzx edi, byte [edi + 0x47d584]
jmp dword [edi*4 + 0x47d57c]
movsx edi, byte [ecx + 0x498586]
movsx eax, byte [ecx + 0x49857e]
add ecx, 0xffffff9e
mov edx, ecx
inc esi
and edx, 1
mov dword [esp + 0x14c], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x47b184
mov edi, SysReAllocString
jmp 0x47b180
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 + 0x18], edx
mov dword [esp + 0x1c], edi
jne 0x47b16d
mov edi, SysReAllocString
mov dword [esp + 0x1c], edi
add esi, 5
mov dword [esp + 0x14c], esi
jmp 0x47b184
mov edi, 1
mov eax, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], 1
cmp eax, 1
jl 0x47b1d1
cmp ebx, dword [ebp + 0x64]
jae 0x47ccd1
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.0x479955.150
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, eax
jle 0x47b191
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp eax, edi
je 0x479930
mov dword [esp + 0x14], eax
test edx, edx
je 0x47cd4c
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
inc eax
push eax
push ecx
push ebp
push edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x160]
push edi
push eax
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x1c]
jge 0x47c97f
cmp ebx, dword [ebp + 0x64]
jae 0x47cd12
movzx edi, byte [ebx]
mov eax, dword [esp + 0x28]
mov ecx, edi
and ecx, 7
mov edx, 1
shl edx, cl
shr edi, 3
inc ebx
test byte [edi + eax], dl
je case.0x479955.150
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
inc dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x154]
push eax
push ebp
push ecx
push edi
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47b225
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov edx, dword [ebp + 0x64]
sub edx, ebx
cmp edx, 1
jl 0x47ccd1
movzx eax, byte [esi + 1]
movzx ecx, byte [ebx]
add esi, 2
inc ebx
mov dword [esp + 0x14c], esi
cmp eax, ecx
je 0x479930
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x98], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [ebp + 0x64]
sub eax, ebx
cmp eax, 1
jl 0x47ccd1
movzx edx, byte [ebx]
mov eax, dword [ebp + 0x30]
movzx ecx, byte [esi + 1]
mov dl, byte [edx + eax]
inc ebx
cmp byte [ecx + eax], dl
jne case.0x479955.150
add esi, 2
mov dword [esp + 0x14c], esi
jmp 0x479930
movzx edi, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edi, 8
or edi, eax
mov eax, edi
add esi, 3
jmp 0x47b3c5
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 0x47b358
cmp cl, 0x35
je 0x47b358
xor edx, edx
mov dword [esp + 0x18], edx
add esi, 3
jmp 0x47b3c5
mov edx, 1
mov dword [esp + 0x18], edx
add esi, 3
jmp 0x47b3c5
xor eax, eax
mov dword [esp + 0x24], 1
inc esi
jmp 0x47b3c0
mov eax, 1
mov dword [esp + 0x24], eax
add esi, eax
jmp 0x47b3c0
mov edi, 1
xor eax, eax
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47b3c5
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 + 0x4985e0]
mov edx, edi
movsx edi, byte [edi + 0x4985e8]
and edx, 1
mov dword [esp + 0x18], edx
test edi, edi
jne 0x47b3c5
mov edi, SysReAllocString
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0x2e
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14c], esi
mov dword [esp + 0x14], 1
jl 0x47b505
mov edx, dword [ebp + 0x30]
movzx ecx, byte [ecx + edx]
mov dword [esp + 0x20], ecx
cmp eax, 1
jl 0x47b42e
cmp ebx, dword [ebp + 0x64]
jae 0x47ccd1
movzx ecx, byte [ebx]
inc ebx
cmp ecx, 0xff
ja case.0x479955.150
mov edx, dword [ebp + 0x30]
movzx edx, byte [ecx + edx]
cmp dword [esp + 0x20], edx
jne case.0x479955.150
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, eax
jle 0x47b3f7
cmp eax, edi
je 0x479930
cmp dword [esp + 0x18], 0
jne 0x47ce05
mov dword [esp + 0x18], ebx
cmp eax, edi
jge 0x47b491
mov edx, eax
jmp 0x47b450
cmp ebx, dword [ebp + 0x64]
jae 0x47b475
movzx ecx, byte [ebx]
cmp ecx, 0xff
ja 0x47b491
mov eax, dword [ebp + 0x30]
movzx eax, byte [ecx + eax]
cmp dword [esp + 0x20], eax
jne 0x47b491
inc edx
inc ebx
cmp edx, edi
jl 0x47b450
jmp 0x47b491
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47b491
cmp ebx, dword [ebp + 0x70]
jbe 0x47b491
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47ccf5
cmp dword [esp + 0x24], 0
jne 0x479930
cmp ebx, dword [esp + 0x18]
jb 0x47b4eb
mov edi, dword [esp + 0x164]
inc edi
lea ebx, [ebx]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
push edi
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
push ecx
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
dec ebx
test eax, eax
jne 0x47d38a
cmp ebx, dword [esp + 0x18]
jae 0x47b4b0
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x98], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
cmp eax, 1
jl 0x47b536
lea ebx, [ebx]
cmp ebx, dword [ebp + 0x64]
jae 0x47ccd1
movzx edx, byte [ebx]
inc ebx
cmp ecx, edx
jne case.0x479955.150
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, eax
jle 0x47b510
mov edx, dword [esp + 0x18]
cmp eax, edi
je 0x479930
test edx, edx
jne 0x47cebe
mov dword [esp + 0x18], ebx
cmp eax, edi
jge 0x47b582
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47b566
movzx edx, byte [ebx]
cmp dword [esp + 0x20], edx
jne 0x47b582
inc eax
inc ebx
cmp eax, edi
jl 0x47b551
jmp 0x47b582
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47b582
cmp ebx, dword [ebp + 0x70]
jbe 0x47b582
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb56
cmp dword [esp + 0x24], 0
jne 0x479930
cmp ebx, dword [esp + 0x18]
jb 0x47b5db
mov edi, dword [esp + 0x164]
inc edi
jmp 0x47b5a0
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
mov eax, dword [esp + 0x154]
push edi
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
push eax
push ecx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
dec ebx
test eax, eax
jne 0x47d38a
cmp ebx, dword [esp + 0x18]
jae 0x47b5a0
mov edx, dword [esp + 0x154]
mov dword [ebp + 0x98], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
movzx edi, byte [ebx]
inc ebx
cmp dword [esp + 0x1c], 0x20
jne 0x47b640
mov eax, dword [ebp + 0x30]
movzx ecx, byte [esi + 1]
mov dl, byte [edi + eax]
add esi, 2
mov dword [esp + 0x14c], esi
cmp byte [ecx + eax], dl
jne 0x479930
mov edx, dword [esp + 0x154]
mov dword [ebp + 0x98], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
movzx eax, byte [esi + 1]
add esi, 2
mov dword [esp + 0x14c], esi
cmp eax, edi
jne 0x479930
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x98], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
movzx edi, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edi, 8
or edi, ecx
mov eax, edi
add esi, 3
jmp 0x47b737
movzx edi, byte [esi + 1]
movzx edx, byte [esi + 2]
shl edi, 8
xor eax, eax
or edi, edx
cmp cl, 0x42
je 0x47b6ae
cmp cl, 0x4f
je 0x47b6ae
xor edx, edx
mov dword [esp + 0x18], edx
add esi, 3
jmp 0x47b737
mov edx, 1
mov dword [esp + 0x18], edx
add esi, 3
jmp 0x47b737
xor eax, eax
mov dword [esp + 0x24], 1
inc esi
jmp 0x47b732
mov eax, 1
mov dword [esp + 0x24], eax
add esi, eax
jmp 0x47b732
mov edi, 1
xor eax, eax
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47b737
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 0x47b737
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 + 0x4985e0]
mov edx, edi
movsx edi, byte [edi + 0x4985e8]
and edx, 1
mov dword [esp + 0x18], edx
test edi, edi
jne 0x47b737
mov edi, SysReAllocString
movzx ecx, byte [esi]
inc esi
cmp dword [esp + 0x1c], 0x48
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14c], esi
mov dword [esp + 0x14], 1
jl 0x47b865
mov edx, dword [ebp + 0x30]
movzx ecx, byte [ecx + edx]
mov dword [esp + 0x20], ecx
cmp eax, 1
jl 0x47b79b
lea esp, [esp]
cmp ebx, dword [ebp + 0x64]
jae 0x47ccd1
movzx edx, byte [ebx]
mov ecx, dword [ebp + 0x30]
movzx ecx, byte [edx + ecx]
inc ebx
cmp dword [esp + 0x20], ecx
je case.0x479955.150
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, eax
jle 0x47b770
cmp eax, edi
je 0x479930
cmp dword [esp + 0x18], 0
jne 0x47cf66
mov dword [esp + 0x18], ebx
cmp eax, edi
jge 0x47b7ef
cmp ebx, dword [ebp + 0x64]
jae 0x47b7d3
movzx edx, byte [ebx]
mov ecx, dword [ebp + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [esp + 0x20], ecx
je 0x47b7ef
inc eax
inc ebx
cmp eax, edi
jl 0x47b7b6
jmp 0x47b7ef
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47b7ef
cmp ebx, dword [ebp + 0x70]
jbe 0x47b7ef
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb97
cmp dword [esp + 0x24], 0
jne 0x479930
cmp ebx, dword [esp + 0x18]
jb 0x47b84b
mov edi, dword [esp + 0x164]
inc edi
jmp 0x47b810
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x154]
push edi
push eax
mov eax, dword [esp + 0x158]
push ebp
push ecx
push edx
push eax
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
dec ebx
cmp ebx, dword [esp + 0x18]
jae 0x47b810
mov ecx, dword [esp + 0x154]
mov dword [ebp + 0x98], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
cmp eax, 1
jl 0x47b896
lea ebx, [ebx]
cmp ebx, dword [ebp + 0x64]
jae 0x47cb73
movzx edx, byte [ebx]
inc ebx
cmp ecx, edx
je case.0x47d1c0.14
mov edx, dword [esp + 0x14]
inc edx
mov dword [esp + 0x14], edx
cmp edx, eax
jle 0x47b870
mov edx, dword [esp + 0x18]
cmp eax, edi
je 0x479930
test edx, edx
jne 0x47d01b
mov dword [esp + 0x18], ebx
cmp eax, edi
jge 0x47b8e2
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47b8c6
movzx edx, byte [ebx]
cmp dword [esp + 0x20], edx
je 0x47b8e2
inc eax
inc ebx
cmp eax, edi
jl 0x47b8b1
jmp 0x47b8e2
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47b8e2
cmp ebx, dword [ebp + 0x70]
jbe 0x47b8e2
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47ccf5
cmp dword [esp + 0x24], 0
jne 0x479930
cmp ebx, dword [esp + 0x18]
jb 0x47b93b
mov edi, dword [esp + 0x164]
inc edi
jmp 0x47b900
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
push edi
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
push ecx
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
dec ebx
cmp ebx, dword [esp + 0x18]
jae 0x47b900
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x98], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
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 + 0x18], 1
add esi, 3
jmp 0x47ba14
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 + 0x18], eax
jmp 0x47ba14
xor edi, edi
mov dword [esp + 0x24], 1
inc esi
jmp 0x47ba0c
mov edi, 1
mov dword [esp + 0x24], edi
add esi, edi
jmp 0x47ba0c
mov eax, 1
xor edi, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], eax
add esi, eax
jmp 0x47ba14
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 0x47ba14
mov eax, dword [esp + 0x1c]
movsx edi, byte [eax + 0x49858b]
lea ecx, [eax - 0x55]
movsx eax, byte [eax + 0x498593]
and ecx, 1
inc esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x47ba14
mov dword [esp + 0x1c], CreateStatusWindowA
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14c], esi
test edi, edi
jle 0x47bd5a
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x47d1a6.15
jmp dword [eax*4 + 0x47d58c]
cmp edi, 1
jl 0x47bd5a
mov dword [esp + 0x28], 1
nop
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47ccd1
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47ba7a
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.0047e540
add esp, 4
test eax, eax
jne case.0x479955.150
jmp 0x47ba9f
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47baa6
mov dl, byte [ebx]
cmp dl, byte [ebp + 0x2c]
jne 0x47baa6
cmp eax, 1
je case.0x479955.150
mov al, byte [ebx + 1]
cmp al, byte [ebp + 0x2d]
je case.0x479955.150
mov esi, dword [esp + 0x14c]
mov eax, dword [esp + 0x28]
inc eax
inc ebx
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x47ba50
jmp 0x47bd5a
mov ecx, dword [ebp + 0x64]
sub ecx, edi
cmp ebx, ecx
ja 0x47ccd1
add ebx, edi
jmp 0x47bd5a
mov edx, dword [ebp + 0x64]
sub edx, edi
cmp ebx, edx
ja 0x47cb32
add ebx, edi
jmp 0x47bd5a
mov ecx, 1
cmp edi, ecx
jl 0x47bd5a
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47cb73
movzx eax, byte [ebx]
sub eax, 0xa
inc ebx
cmp eax, 0x7b
ja case.0x47bb10.14
movzx eax, byte [eax + 0x47d5dc]
jmp dword [eax*4 + 0x47d5cc]
cmp ebx, edx
jae case.0x47bb10.10
cmp byte [ebx], 0xa
jne case.0x47bb10.10
inc ebx
jmp case.0x47bb10.10
cmp dword [ebp + 0x58], 0
jne case.0x47d1c0.14
inc ecx
cmp ecx, edi
jle 0x47baf1
jmp 0x47bd5a
mov ecx, 1
cmp edi, ecx
jl 0x47bd5a
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47cb32
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je case.0x47bb10.14
cmp eax, 0x20
je case.0x47bb10.14
cmp eax, 0xa0
je case.0x47bb10.14
inc ecx
cmp ecx, edi
jle 0x47bb47
jmp 0x47bd5a
mov ecx, 1
cmp edi, ecx
jl 0x47bd5a
mov edx, dword [ebp + 0x64]
lea ebx, [ebx]
cmp ebx, edx
jae 0x47cb32
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je 0x47bbb1
cmp eax, 0x20
je 0x47bbb1
cmp eax, 0xa0
jne case.0x47bb10.14
inc ecx
cmp ecx, edi
jle 0x47bb90
jmp 0x47bd5a
mov ecx, 1
cmp edi, ecx
jl 0x47bd5a
mov edx, dword [ebp + 0x64]
jmp 0x47bbd0
cmp ebx, edx
jae 0x47cb32
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x47bbf5
cmp eax, 0xd
jle case.0x47bb10.14
cmp eax, 0x85
je case.0x47bb10.14
inc ecx
cmp ecx, edi
jle 0x47bbd0
jmp 0x47bd5a
mov ecx, 1
cmp edi, ecx
jl 0x47bd5a
mov edx, dword [ebp + 0x64]
nop
cmp ebx, edx
jae 0x47cb32
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl case.0x47bb10.14
cmp eax, 0xd
jle 0x47bc35
cmp eax, 0x85
jne case.0x47bb10.14
inc ecx
cmp ecx, edi
jle 0x47bc10
jmp 0x47bd5a
mov eax, 1
cmp edi, eax
jl 0x47bd5a
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 4
jne case.0x47bb10.14
inc eax
cmp eax, edi
jle 0x47bc4c
jmp 0x47bd5a
mov eax, 1
cmp edi, eax
jl 0x47bd5a
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
movzx edx, byte [ebx]
mov ecx, dword [ebp + 0x34]
mov dl, byte [edx + ecx]
inc ebx
and dl, 4
je case.0x47bb10.14
inc eax
cmp eax, edi
jle 0x47bc7f
jmp 0x47bd5a
mov eax, 1
cmp edi, eax
jl 0x47bd5a
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 1
jne case.0x47bb10.14
inc eax
cmp eax, edi
jle 0x47bcb2
jmp 0x47bd5a
mov eax, 1
cmp edi, eax
jl 0x47bd5a
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
movzx edx, byte [ebx]
mov ecx, dword [ebp + 0x34]
mov dl, byte [edx + ecx]
inc ebx
and dl, 1
je case.0x47bb10.14
inc eax
cmp eax, edi
jle 0x47bce1
jmp 0x47bd5a
mov eax, 1
cmp edi, eax
jl 0x47bd5a
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
movzx ecx, byte [ebx]
mov edx, dword [ebp + 0x34]
mov cl, byte [ecx + edx]
inc ebx
and cl, 0x10
jne case.0x47bb10.14
inc eax
cmp eax, edi
jle 0x47bd0d
jmp 0x47bd5a
mov eax, 1
cmp edi, eax
jl 0x47bd5a
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
movzx edx, byte [ebx]
mov ecx, dword [ebp + 0x34]
mov dl, byte [edx + ecx]
inc ebx
and dl, 0x10
je case.0x47bb10.14
inc eax
cmp eax, edi
jle 0x47bd39
cmp edi, dword [esp + 0x1c]
je 0x479930
cmp dword [esp + 0x18], 0
jne 0x47d0d4
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffa
mov dword [esp + 0x18], ebx
cmp eax, 0xf
ja case.0x47d1a6.15
jmp dword [eax*4 + 0x47d658]
cmp edi, dword [esp + 0x1c]
jge 0x47c0f1
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47c0d5
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47bdbe
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.0047e540
add esp, 4
test eax, eax
jne 0x47c0f1
jmp 0x47bde3
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47bde3
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne 0x47bde3
cmp eax, 1
je 0x47c0f1
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je 0x47c0f1
inc edi
inc ebx
cmp edi, dword [esp + 0x1c]
jl 0x47bd94
jmp 0x47c0f1
mov ecx, dword [ebp + 0x64]
mov eax, dword [esp + 0x1c]
mov edx, ecx
sub eax, edi
sub edx, ebx
cmp eax, edx
jbe 0x47be2c
mov ebx, ecx
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47c0f1
cmp ebx, dword [ebp + 0x70]
jbe 0x47c0f1
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47ccf5
jmp 0x47c0f1
add ebx, eax
jmp 0x47c0f1
mov edx, dword [esp + 0x1c]
cmp edi, edx
jge 0x47c0f1
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47be8d
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x47be5e
inc ebx
cmp ebx, ecx
jae 0x47c0f1
cmp byte [ebx], 0xa
jne 0x47be83
jmp 0x47be82
cmp eax, 0xa
je 0x47be82
cmp dword [ebp + 0x58], 0
jne 0x47c0f1
cmp eax, 0xb
je 0x47be82
cmp eax, 0xc
je 0x47be82
cmp eax, 0x85
jne 0x47c0f1
inc ebx
inc edi
cmp edi, edx
jl 0x47be42
jmp 0x47c0f1
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47c0f1
cmp ebx, dword [ebp + 0x70]
jbe 0x47c0f1
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb97
jmp 0x47c0f1
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47c0f1
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47c0d5
movzx eax, byte [ebx]
cmp eax, 9
je 0x47c0f1
cmp eax, 0x20
je 0x47c0f1
cmp eax, 0xa0
je 0x47c0f1
inc edi
inc ebx
cmp edi, ecx
jl 0x47bec5
jmp 0x47c0f1
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47c0f1
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47be03
movzx eax, byte [ebx]
cmp eax, 9
je 0x47bf27
cmp eax, 0x20
je 0x47bf27
cmp eax, 0xa0
jne 0x47c0f1
inc edi
inc ebx
cmp edi, ecx
jl 0x47bf07
jmp 0x47c0f1
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47c0f1
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47be8d
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x47c0f1
cmp eax, 0xb
je 0x47c0f1
cmp eax, 0xc
je 0x47c0f1
cmp eax, 0xd
je 0x47c0f1
cmp eax, 0x85
je 0x47c0f1
inc edi
inc ebx
cmp edi, ecx
jl 0x47bf41
jmp 0x47c0f1
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
jge 0x47c0f1
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47c0d5
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x47bfbf
cmp eax, 0xb
je 0x47bfbf
cmp eax, 0xc
je 0x47bfbf
cmp eax, 0xd
je 0x47bfbf
cmp eax, 0x85
jne 0x47c0f1
inc edi
inc ebx
cmp edi, ecx
jl 0x47bf95
jmp 0x47c0f1
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47c0f1
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47be03
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x34]
test byte [edx + esi], 4
jne 0x47c0f1
inc edi
inc ebx
cmp edi, eax
jl 0x47bfd9
jmp 0x47c0f1
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47c0f1
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47be8d
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x34]
test byte [edx + esi], 4
je 0x47c0f1
inc edi
inc ebx
cmp edi, eax
jl 0x47c00b
jmp 0x47c0f1
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47c0f1
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47c0d5
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x34]
test byte [edx + esi], 1
jne 0x47c0f1
inc edi
inc ebx
cmp edi, eax
jl 0x47c03d
jmp 0x47c0f1
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47c0f1
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47be03
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x34]
test byte [edx + esi], 1
je 0x47c0f1
inc edi
inc ebx
cmp edi, eax
jl 0x47c06f
jmp 0x47c0f1
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47c0f1
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47be8d
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x34]
test byte [edx + esi], 0x10
jne 0x47c0f1
inc edi
inc ebx
cmp edi, eax
jl 0x47c096
jmp 0x47c0f1
mov eax, dword [esp + 0x1c]
cmp edi, eax
jge 0x47c0f1
mov ecx, dword [ebp + 0x64]
cmp ebx, ecx
jae 0x47c0d5
movzx edx, byte [ebx]
mov esi, dword [ebp + 0x34]
test byte [edx + esi], 0x10
je 0x47c0f1
inc edi
inc ebx
cmp edi, eax
jl 0x47c0bd
jmp 0x47c0f1
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47c0f1
cmp ebx, dword [ebp + 0x70]
jbe 0x47c0f1
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb56
cmp dword [esp + 0x24], 0
je 0x47d305
mov esi, dword [esp + 0x14c]
jmp 0x479930
mov al, byte [esi]
cmp al, 0x75
je 0x47c9fb
cmp al, 0x74
jne 0x47c1ac
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x154]
inc eax
push eax
mov eax, dword [esp + 0x154]
push ecx
push ebp
push edi
push edx
push eax
add esi, 3
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
mov esi, dword [esp + 0x20]
mov al, byte [esi]
cmp al, 0x7b
je 0x47ca11
cmp al, 0x81
jb 0x47c217
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x154]
inc edx
push edx
mov edx, dword [esp + 0x154]
push eax
push ebp
push edi
push ecx
push edx
mov eax, esi
push eax
push ebx
mov dword [ebp + 0x84], 2
call fcn.004798c0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
cmp byte [ecx], 0x81
jb 0x47c1bb
mov dword [ebp + 0x84], 2
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x154]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push edx
mov edx, dword [esp + 0x28]
push ebp
push edi
push eax
push ecx
push edx
push ebx
call fcn.004798c0
add esp, 0x20
cmp eax, 0xfffffc1c
jne 0x47c1ff
mov ecx, dword [ebp + 0x9c]
cmp ecx, dword [esp + 0x20]
jmp 0x47c201
test eax, eax
jne 0x47d38a
mov edx, dword [esp + 0x20]
add esi, 3
cmp byte [edx], 0x7b
je 0x47ca60
mov eax, dword [ebp]
mov dword [esp + 0x14c], esi
cmp eax, dword [ebp + 4]
jb 0x4798f0
inc dword [ebp]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [ebp + 0x78]
cmp eax, dword [esp + 0x158]
jle 0x47c250
mov dword [esp + 0x158], eax
movzx ecx, byte [esi + 4]
movzx edx, byte [esi + 5]
shl ecx, 8
or ecx, edx
cmp byte [esi + ecx + 3], 0x71
lea esi, [esi + ecx + 3]
jne 0x47c284
jmp 0x47c270
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x71
je 0x47c270
cmp dword [esp + 0x1c], 0x85
jne 0x47c298
mov dword [ebp + 0x84], 2
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
push ecx
push edx
lea eax, [esi + 3]
push eax
push ebx
call fcn.004798c0
add esp, 0x20
cmp eax, 0xfffffc20
jne 0x47d38a
cmp dword [ebp + 0x68], esi
jne 0x47d38a
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x154]
push eax
movzx eax, byte [esi]
push ebp
push ecx
movzx ecx, byte [eax + 0x498100]
lea edi, [esi + 2]
push edi
push edx
movzx edx, byte [esi + 1]
add ecx, esi
add edx, ecx
push edx
push ebx
call fcn.004798c0
add esp, 0x20
cmp eax, 0xfffffc1f
jne 0x47c38c
mov esi, dword [ebp + 0x68]
mov ecx, edi
mov edi, edi
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x47c370
test dl, dl
je 0x47c36c
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x47c370
add ecx, 2
add esi, 2
test dl, dl
jne 0x47c350
xor ecx, ecx
jmp 0x47c375
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x47c38c
mov dword [ebp + 0x68], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
cmp dword [ebp + 0x98], 0
jne 0x47d38a
mov dword [ebp + 0x98], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push edx
movzx edx, byte [esi]
push ebp
push eax
movzx eax, byte [edx + 0x498100]
push edi
push ecx
add eax, esi
push eax
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47c40e
cmp eax, 0xfffffc1d
je 0x47c40e
cmp eax, 0xfffffc1e
je 0x47c40e
cmp eax, 0xfffffc1f
je 0x47c40e
cmp eax, 0xfffffc20
jne 0x47d38a
mov dword [ebp + 0x98], edi
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push edx
movzx edx, byte [esi]
push ebp
push eax
movzx eax, byte [edx + 0x498100]
push edi
push ecx
add eax, esi
push eax
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47c473
cmp eax, 0xfffffc20
jne 0x47d38a
mov dword [ebp + 0x98], edi
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
movzx eax, byte [esi]
push ecx
movzx ecx, byte [eax + 0x498100]
push edx
movzx edx, byte [esi + 1]
add ecx, esi
add edx, ecx
push edx
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47c4de
cmp eax, 0xfffffc20
jne 0x47d38a
add esi, 2
mov dword [ebp + 0x98], esi
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
inc eax
push eax
mov eax, dword [esp + 0x154]
push ecx
movzx ecx, byte [esi]
push ebp
push edx
movzx edx, byte [ecx + 0x498100]
push edi
push eax
add edx, esi
push edx
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47c54d
cmp eax, 0xfffffc1d
je 0x47c54d
cmp eax, 0xfffffc20
jne 0x47d38a
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x98], edi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
inc eax
push eax
mov eax, dword [esp + 0x158]
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
movzx edx, byte [esi]
push eax
movzx eax, byte [edx + 0x498100]
push ecx
movzx ecx, byte [esi + 1]
add eax, esi
add ecx, eax
push ecx
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47c5c2
cmp eax, 0xfffffc1d
je 0x47c5c2
cmp eax, 0xfffffc20
jne 0x47d38a
add esi, 2
mov dword [ebp + 0x68], esi
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
mov edi, dword [esp + 0x154]
inc edx
push edx
mov edx, dword [esp + 0x154]
push eax
movzx eax, byte [esi]
push ebp
push ecx
movzx ecx, byte [eax + 0x498100]
push edi
push edx
add ecx, esi
push ecx
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
sub esi, edx
mov dword [ebp + 0x68], esi
mov dword [ebp + 0x98], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
movzx eax, byte [esi]
push ecx
movzx ecx, byte [eax + 0x498100]
push edx
movzx edx, byte [esi + 3]
add ecx, esi
add edx, ecx
push edx
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
mov edx, esi
sub edx, eax
add esi, 4
mov dword [ebp + 0x68], edx
mov dword [ebp + 0x98], esi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
movzx eax, byte [esi + 3]
movzx ecx, byte [esi + 4]
shl eax, 8
or eax, ecx
lea edi, [eax + eax]
mov dword [esp + 0x18], eax
cmp edi, dword [ebp + 0x14]
jge case.0x479955.123
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + edi*4]
mov ecx, dword [eax + edi*4 + 4]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 0x10]
sub edx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [ebp + 0x7c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x164]
mov ecx, ebx
sub ecx, dword [ebp + 0x60]
inc edx
mov dword [eax], ecx
mov dword [esp + 0x24], edx
lea ecx, [ecx]
cmp dword [esp + 0x1c], 0x81
jl 0x47c734
mov dword [ebp + 0x84], 2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
push eax
mov eax, dword [esp + 0x158]
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
movzx edx, byte [esi]
push eax
movzx eax, byte [edx + 0x498100]
push ecx
add eax, esi
push eax
push ebx
call fcn.004798c0
add esp, 0x20
cmp eax, 0xfffffc1c
je 0x47c7ae
test eax, eax
je 0x47c78f
cmp eax, 0xfffffc20
jne 0x47d38a
cmp dword [ebp + 0x68], esi
jne 0x47d38a
mov ecx, dword [esp + 0x2c]
mov dword [ebp + 0x7c], ecx
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
or edx, ecx
add esi, edx
cmp byte [esi], 0x71
je 0x47c720
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov dword [edx + edi*4], ecx
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
mov dword [edx + edi*4 + 4], ecx
mov edx, dword [ebp + 0x10]
sub edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + edx*4], esi
cmp eax, 0xfffffc20
je 0x47c7f1
cmp dword [ebp + 0x98], 0
jne 0x47c7f1
mov edx, dword [esp + 0x154]
mov dword [ebp + 0x98], edx
xor ecx, ecx
cmp eax, 0xfffffc1c
setne cl
lea eax, [ecx - 1]
and eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov edi, dword [esp + 0x164]
inc edi
mov eax, dword [esp + 0x1c]
cmp eax, 0x81
jge 0x47c826
cmp eax, 0x7b
jne 0x47c830
mov dword [ebp + 0x84], 2
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
push edi
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
movzx eax, byte [esi]
push ecx
movzx ecx, byte [eax + 0x498100]
push edx
add ecx, esi
push ecx
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47c87c
cmp eax, 0xfffffc20
jne 0x47c8ba
cmp dword [ebp + 0x68], esi
jne 0x47d38a
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
or edx, ecx
add esi, edx
cmp byte [esi], 0x71
je 0x47c816
cmp eax, 0xfffffc20
je 0x47c8ad
cmp dword [ebp + 0x98], 0
jne 0x47c8ad
mov edx, dword [esp + 0x154]
mov dword [ebp + 0x98], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
cmp eax, 0xfffffc1c
jne 0x47d38a
mov cl, byte [esi]
cmp cl, 0x7b
je 0x47c8f4
cmp cl, 0x71
jne 0x47c8e5
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
or edx, ecx
add esi, edx
cmp byte [esi], 0x71
je 0x47c8d1
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl edx, 8
or edx, ecx
sub esi, edx
cmp dword [ebp + 0x9c], esi
jne 0x47d38a
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x150]
cmp ebx, eax
jne 0x47c949
cmp dword [esp + 0x1c], 0x98
je 0x47c949
cmp dword [ebp + 0x90], edx
jne 0x47c949
cmp dword [ebp + 0x4c], edx
jne case.0x47bb10.14
cmp dword [ebp + 0x50], edx
je 0x47c949
mov ecx, dword [ebp + 0x80]
add ecx, dword [ebp + 0x60]
cmp eax, ecx
je case.0x47bb10.14
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x154]
mov dword [ebp + 0x68], eax
mov eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
and eax, 0xfffffc18
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x78], ecx
mov dword [ebp + 0x98], edx
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov dword [ebp + 0x98], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0xc8]
cmp ecx, edx
je 0x47d38a
push ecx
call dword [0x49f33c]
mov eax, dword [esp + 0x2c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x150]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x6c], ebx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x78], edi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x154]
mov esi, dword [esp + 0x20]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push edx
push ebp
push edi
push eax
push ecx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
mov dword [ebp + 0x9c], esi
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x154]
inc ecx
push ecx
mov ecx, dword [esp + 0x154]
push edx
push ebp
push edi
push eax
push ecx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
mov edx, dword [esp + 0x20]
mov dword [ebp + 0x9c], edx
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x154]
inc eax
push eax
mov eax, dword [esp + 0x154]
push ecx
push ebp
push edi
push edx
push eax
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
mov ecx, dword [esp + 0x20]
mov dword [ebp + 0x9c], ecx
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov edx, dword [esp + 0x158]
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x78], edx
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x98], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [ebp + 0x74]
test eax, eax
je case.0x47d1c0.14
cmp ebx, dword [ebp + 0x70]
jbe case.0x47d1c0.14
mov dword [ebp + 0x54], 1
cmp eax, 1
jle case.0x47d1c0.14
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x98], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [ebp + 0x74]
test eax, eax
je case.0x479955.150
cmp ebx, dword [ebp + 0x70]
jbe case.0x479955.150
mov dword [ebp + 0x54], 1
cmp eax, 1
jle case.0x479955.150
mov edx, dword [esp + 0x154]
mov dword [ebp + 0x98], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [ebp + 0x74]
test eax, eax
je case.0x47bb10.14
cmp ebx, dword [ebp + 0x70]
jbe case.0x47bb10.14
mov dword [ebp + 0x54], 1
cmp eax, 1
jle case.0x47bb10.14
mov ecx, dword [esp + 0x154]
mov dword [ebp + 0x98], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ecx
cmp ecx, eax
jge 0x47cc55
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
push ecx
push edi
mov ecx, ebp
mov eax, ebx
call fcn.00479830
add esp, 8
test eax, eax
js 0x47cc2e
add ebx, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x1c]
jl 0x47cc01
jmp 0x47cc4f
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47cc4f
cmp ebx, dword [ebp + 0x64]
jb 0x47cc4f
cmp ebx, dword [ebp + 0x70]
jbe 0x47cc4f
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47cb97
cmp ebx, dword [esp + 0x18]
jb case.0x47d1c0.14
mov edi, dword [esp + 0x164]
inc edi
lea ecx, [ecx]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x154]
push edi
push eax
mov eax, dword [esp + 0x158]
push ebp
push ecx
push edx
push eax
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
sub ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x18]
jae 0x47cc60
mov ecx, dword [esp + 0x154]
mov dword [ebp + 0x98], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [ebp + 0x74]
test eax, eax
je case.0x479955.150
cmp ebx, dword [ebp + 0x64]
jb case.0x479955.150
jmp 0x47cb7e
mov eax, dword [ebp + 0x74]
test eax, eax
je case.0x47bb10.14
cmp ebx, dword [ebp + 0x70]
jbe case.0x47bb10.14
mov dword [ebp + 0x54], 1
cmp eax, 1
jle case.0x47bb10.14
mov ecx, dword [esp + 0x154]
mov dword [ebp + 0x98], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47c97f
cmp ebx, dword [ebp + 0x70]
jbe 0x47c97f
mov dword [ebp + 0x54], 1
cmp eax, 1
jle 0x47c97f
mov dword [ebp + 0x98], edi
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov dword [esp + 0x18], ebx
cmp eax, edi
jge 0x47cda8
cmp ebx, dword [ebp + 0x64]
jae 0x47cd86
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]
test al, dl
je 0x47cda2
mov eax, dword [esp + 0x14]
inc eax
inc ebx
mov dword [esp + 0x14], eax
cmp eax, edi
jl 0x47cd54
jmp 0x47cda2
mov eax, dword [ebp + 0x74]
test eax, eax
je 0x47cda2
cmp ebx, dword [ebp + 0x70]
jbe 0x47cda2
mov dword [ebp + 0x54], 1
cmp eax, 1
jg 0x47ccf5
cmp ebx, dword [esp + 0x18]
jb case.0x479955.150
mov edi, dword [esp + 0x164]
inc edi
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
push edi
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
push ecx
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
dec ebx
cmp ebx, dword [esp + 0x18]
jae 0x47cdb0
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x98], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x164]
inc eax
push eax
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x164]
push eax
push ecx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
lea esp, [esp]
cmp dword [esp + 0x14], edi
jge case.0x479955.150
cmp ebx, dword [ebp + 0x64]
jae 0x47ccd1
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xff
ja case.0x479955.150
mov edx, dword [ebp + 0x30]
movzx eax, byte [edx + eax]
cmp dword [esp + 0x20], eax
jne case.0x479955.150
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
push ecx
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47ce50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x164]
inc eax
push eax
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x164]
push eax
push ecx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
cmp dword [esp + 0x14], edi
jge case.0x47bb10.14
cmp ebx, dword [ebp + 0x64]
jae 0x47cb32
movzx edx, byte [ebx]
inc ebx
cmp dword [esp + 0x20], edx
jne case.0x47bb10.14
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
inc dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x158]
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
push eax
push ecx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47cf02
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x164]
inc eax
push eax
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x164]
push eax
push ecx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
lea ebx, [ebx]
cmp dword [esp + 0x14], edi
jge case.0x47d1c0.14
cmp ebx, dword [ebp + 0x64]
jae 0x47cb73
movzx edx, byte [ebx]
mov eax, dword [ebp + 0x30]
movzx ecx, byte [edx + eax]
inc ebx
cmp dword [esp + 0x20], ecx
je case.0x47d1c0.14
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
inc dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x158]
push eax
mov eax, dword [esp + 0x158]
push ebp
push ecx
push edx
push eax
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47cfb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov edx, dword [esp + 0x160]
mov ecx, dword [esp + 0x154]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x164]
inc eax
push eax
push edx
mov edx, dword [esp + 0x158]
push ebp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x164]
push eax
push ecx
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
nop
cmp dword [esp + 0x14], edi
jge case.0x479955.150
cmp ebx, dword [ebp + 0x64]
jae 0x47ccd1
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x20], eax
je case.0x479955.150
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x158]
inc dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x158]
push ebp
push eax
push ecx
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47d060
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x150]
inc eax
push eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x164]
push eax
push ebp
push ecx
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x164]
push edi
push edx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
jmp 0x47d127
mov edi, dword [esp + 0x154]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x14], eax
jge 0x47c97f
mov edx, dword [ebp + 0x64]
cmp ebx, edx
jae 0x47cd12
cmp dword [esp + 0x2c], 0xc
jne 0x47d192
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47d166
lea esi, [ebp + 0x1c]
push eax
mov ecx, ebx
call fcn.0047e540
add esp, 4
test eax, eax
jne case.0x47bb10.14
jmp 0x47d18b
mov eax, dword [ebp + 0x1c]
sub edx, eax
cmp ebx, edx
ja 0x47d192
mov cl, byte [ebx]
cmp cl, byte [ebp + 0x2c]
jne 0x47d192
cmp eax, 1
je case.0x47bb10.14
mov dl, byte [ebx + 1]
cmp dl, byte [ebp + 0x2d]
je case.0x47bb10.14
mov esi, dword [esp + 0x14c]
mov ecx, dword [esp + 0x2c]
movzx eax, byte [ebx]
add ecx, 0xfffffffa
inc ebx
cmp ecx, 0xf
ja case.0x47d1a6.15
jmp dword [ecx*4 + 0x47d698]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x47d1c0.14
movzx eax, byte [eax + 0x47d6e8]
jmp dword [eax*4 + 0x47d6d8]
cmp ebx, dword [ebp + 0x64]
jae case.0x47d1a6.12
cmp byte [ebx], 0xa
jne case.0x47d1a6.12
inc ebx
jmp case.0x47d1a6.12
cmp dword [ebp + 0x58], 0
jne case.0x479955.150
jmp case.0x47d1a6.12
cmp eax, 9
je case.0x47bb10.14
cmp eax, 0x20
je case.0x47bb10.14
cmp eax, 0xa0
jmp 0x47d2b8
cmp eax, 9
je case.0x47d1a6.12
cmp eax, 0x20
je case.0x47d1a6.12
cmp eax, 0xa0
jne case.0x479955.150
jmp case.0x47d1a6.12
cmp eax, 0xa
jb case.0x47d1a6.12
cmp eax, 0xd
jbe case.0x47d1c0.14
cmp eax, 0x85
je case.0x47d1c0.14
jmp case.0x47d1a6.12
cmp eax, 0xa
jb case.0x47bb10.14
cmp eax, 0xd
jbe case.0x47d1a6.12
cmp eax, 0x85
jne case.0x47bb10.14
jmp case.0x47d1a6.12
mov ecx, dword [ebp + 0x34]
test byte [eax + ecx], 4
jne case.0x479955.150
jmp case.0x47d1a6.12
mov edx, dword [ebp + 0x34]
test byte [eax + edx], 4
je case.0x47d1c0.14
jmp case.0x47d1a6.12
mov ecx, dword [ebp + 0x34]
test byte [eax + ecx], 1
jne case.0x47bb10.14
jmp case.0x47d1a6.12
mov edx, dword [ebp + 0x34]
test byte [eax + edx], 1
je case.0x479955.150
jmp case.0x47d1a6.12
mov ecx, dword [ebp + 0x34]
test byte [eax + ecx], 0x10
jne case.0x47d1c0.14
jmp case.0x47d1a6.12
mov edx, dword [ebp + 0x34]
test byte [eax + edx], 0x10
je case.0x47bb10.14
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
inc dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x158]
push ecx
mov ecx, dword [esp + 0x158]
push ebp
push edx
push eax
push ecx
push esi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
je 0x47d120
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov esi, dword [esp + 0x154]
cmp ebx, dword [esp + 0x18]
jb 0x47d372
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x14c]
inc ecx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
push edx
mov edx, dword [esp + 0x154]
push eax
push ebp
push ecx
push esi
push edx
push edi
push ebx
call fcn.004798c0
add esp, 0x20
test eax, eax
jne 0x47d38a
dec ebx
cmp dword [esp + 0x2c], 0x11
jne 0x47d36c
cmp ebx, dword [esp + 0x18]
jbe 0x47d370
cmp byte [ebx], 0xa
jne 0x47d36c
cmp byte [ebx - 1], 0xd
jne 0x47d36c
dec ebx
cmp ebx, dword [esp + 0x18]
jae 0x47d325
mov dword [ebp + 0x98], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x134
ret