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

Disassembly:
sub esp, 0x130
push ebx
push ebp
push esi
mov ebp, edx
mov esi, ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
push edi
test ebp, ebp
jne 0x4bb71e
cmp dword [esp + 0x154], edx
jne 0x4bb703
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x168]
call fcn.004bb6c0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
lea eax, [esp + 0x154]
sub eax, esi
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx]
cmp eax, dword [edx + 4]
jae 0x4be760
inc eax
mov dword [edx], eax
mov eax, dword [esp + 0x154]
cmp eax, dword [edx + 8]
jae 0x4bf63c
cmp dword [edx + 0x98], 2
jne 0x4bb78b
mov ecx, dword [esp + 0x150]
lea eax, [esp + 0x50]
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x150], eax
mov dword [edx + 0x98], 0
jmp 0x4bb78b
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x14]
jmp 0x4bb792
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov cl, byte [ebp]
movzx ebp, cl
mov dword [esp + 0x30], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x27], cl
mov dword [esp + 0x34], ebp
cmp ebp, 0x9b
ja case.0x4bb7ca.15
movzx eax, byte [ebp + 0x4bf784]
jmp dword [eax*4 + 0x4bf64c]
cmp dword [edx + 0x6c], 0
je 0x4be82a
mov ebx, dword [esp + 0x14]
movzx ecx, byte [ebp + 0x4c81a0]
movzx ebp, byte [ebx + 1]
add ebp, ebx
add ebp, ecx
mov dword [esp + 0x14], ebp
jmp 0x4bb792
mov ecx, dword [esp + 0x14]
mov ebx, esi
mov edi, dword [edx + 0xac]
mov ebp, ecx
mov eax, dword [esp + 0x154]
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
lea edx, [ecx + 3]
mov ecx, esi
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
cmp eax, 1
je 0x4bb90d
cmp eax, 0xfffffc20
jne 0x4bb871
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x14c]
add edx, dword [esp + 0x14]
cmp dword [ecx + 0x7c], edx
jae 0x4be768
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x71
je 0x4bb879
cmp byte [edx], 0x71
jmp 0x4bb873
test eax, eax
jne 0x4be768
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14c]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0xac], edi
mov al, byte [ecx]
cmp al, 0x71
je 0x4bb802
mov edi, ecx
cmp al, 0x7c
je 0x4bb8c0
cmp al, 0x71
jne case.default.0x4bce59
nop dword [eax]
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov al, byte [edi + ecx]
add edi, ecx
cmp al, 0x71
je 0x4bb8c0
mov ecx, dword [edx + 0x8c]
mov esi, dword [edx + 0x80]
mov dword [esp + 0x14], edi
mov dword [esp + 0x148], ecx
mov dword [esp + 0x18], esi
cmp al, 0x72
je 0x4bb8fd
cmp esi, ebx
jne 0x4be468
mov ebp, dword [esp + 0x14]
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4bb78b
mov edx, dword [esp + 0x14c]
mov edi, dword [esp + 0x14]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x144], eax
mov al, byte [edi]
jmp 0x4bb8ad
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
jmp 0x4bc526
mov ebp, dword [esp + 0x14]
movzx ebx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ebx, 8
or ebx, eax
cmp byte [ebp + 3], 0x70
jne 0x4bba3c
mov edi, dword [0x4db1ec]
test edi, edi
je 0x4bba35
movzx eax, byte [ebp + 4]
mov ecx, dword [edx + 0x74]
mov dword [esp + 0x94], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x98], eax
mov eax, dword [edx + 0x78]
sub eax, ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x144]
sub eax, ecx
mov dword [esp + 0x90], 2
mov dword [esp + 0xa4], eax
mov eax, esi
sub eax, ecx
movzx ecx, byte [ebp + 5]
mov dword [esp + 0xa8], eax
movzx eax, byte [ebp + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 8]
mov dword [esp + 0xb8], ecx
movzx ecx, byte [ebp + 7]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x14c]
sar eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [ecx + 0x90]
mov dword [esp + 0xb0], eax
mov eax, dword [ecx + 0xa8]
mov dword [esp + 0xb4], eax
mov eax, dword [ecx + 0xb0]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x90]
push eax
call edi
add esp, 4
test eax, eax
jg case.default.0x4bce59
js 0x4be768
add ebp, 0xa
mov dword [esp + 0x14], ebp
mov cl, byte [ebp + 3]
lea edx, [ebp + 3]
cmp cl, 0x89
je 0x4bbc80
cmp cl, 0x8a
je 0x4bbc80
cmp cl, 0x87
je 0x4bbacd
cmp cl, 0x88
je 0x4bbacd
cmp cl, 0x8b
jne 0x4bba77
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
jmp 0x4bbe8e
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edi, dword [esp + 0x14c]
inc eax
push eax
push 0
push edi
push dword [esp + 0x154]
mov dword [edi + 0x98], 1
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
cmp eax, 1
je 0x4be4e9
test eax, eax
je 0x4bbac4
cmp eax, 0xfffffc20
jne 0x4be768
add ebp, ebx
mov edx, edi
jmp 0x4bbe95
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
lea edi, [edx + edx]
cmp edi, dword [esp + 0x148]
jge 0x4bbafa
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
cmp dword [eax + edi*4], 0
jge 0x4bbc73
cmp cl, 0x88
jne 0x4bbb44
mov eax, dword [esp + 0x14c]
xor edi, edi
mov dword [esp + 0x28], edi
mov ebp, dword [eax + 0x28]
mov ebx, ebp
cmp dword [eax + 0x20], edi
jle 0x4bbb40
movzx ecx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esp + 0x2c], eax
movzx eax, byte [eax]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14c]
cmp ecx, edx
je 0x4bbb58
add ebx, dword [eax + 0x24]
inc edi
mov dword [esp + 0x28], edi
cmp edi, dword [eax + 0x20]
jl 0x4bbb16
mov ebp, dword [esp + 0x14]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
xor eax, eax
jmp 0x4bbe88
cmp edi, dword [eax + 0x20]
jge 0x4bbb40
mov edi, ebx
cmp ebx, ebp
jbe 0x4bbbd8
mov ebp, dword [eax + 0x24]
lea eax, [ebx + 2]
nop dword [eax]
sub edi, ebp
lea ecx, [edi + 2]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4bbb95
test dl, dl
je 0x4bbb91
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4bbb95
add eax, 2
add ecx, 2
test dl, dl
jne 0x4bbb75
xor eax, eax
jmp 0x4bbb9a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4bbbd8
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x148]
jge 0x4bbbc9
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4bbc6f
mov eax, dword [esp + 0x14c]
cmp edi, dword [eax + 0x28]
lea eax, [ebx + 2]
ja 0x4bbb70
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x14c]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [edi + 0x20]
jge 0x4bbb40
mov edi, dword [edi + 0x24]
mov ebp, dword [esp + 0x2c]
add ebp, edi
lea eax, [ebx + 2]
lea ecx, [ebp + 1]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4bbc20
test dl, dl
je 0x4bbc1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4bbc20
add eax, 2
add ecx, 2
test dl, dl
jne 0x4bbc00
xor eax, eax
jmp 0x4bbc25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4bbb40
movzx ecx, byte [ebp - 1]
movzx eax, byte [ebp]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x148]
jge 0x4bbc55
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4bbc6f
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14c]
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [eax + 0x20]
jl 0x4bbbf8
jmp 0x4bbb40
mov ebp, dword [esp + 0x14]
mov ecx, 3
lea eax, [ecx - 2]
jmp 0x4bbe88
mov edx, dword [esp + 0x14c]
mov edi, dword [edx + 0xa4]
test edi, edi
jne 0x4bbca5
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
jmp 0x4bbe95
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x4bbe71
cmp edx, dword [edi + 4]
je 0x4bbe71
mov dword [esp + 0x1c], 0
cmp cl, 0x8a
jne 0x4bbd22
mov eax, dword [esp + 0x14c]
xor edi, edi
mov dword [esp + 0x28], edi
mov ebp, dword [eax + 0x28]
mov ebx, ebp
mov dword [esp + 0x2c], ebx
cmp dword [eax + 0x20], edi
jle 0x4bbd1e
nop
movzx ecx, byte [ebx]
lea eax, [ebx + 1]
mov dword [esp + 0x30], eax
movzx eax, byte [eax]
shl ecx, 8
or ecx, eax
cmp ecx, edx
je 0x4bbd34
mov eax, dword [esp + 0x14c]
inc edi
mov dword [esp + 0x28], edi
add ebx, dword [eax + 0x24]
mov dword [esp + 0x2c], ebx
cmp edi, dword [eax + 0x20]
jl 0x4bbcf0
mov ebp, dword [esp + 0x14]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
jmp 0x4bbe84
mov ecx, dword [esp + 0x14c]
cmp edi, dword [ecx + 0x20]
jge 0x4bbd1e
mov edi, ebx
cmp ebx, ebp
jbe 0x4bbdcd
mov esi, ecx
lea eax, [ebx + 2]
mov dword [esp + 0x34], eax
mov ebx, eax
mov ebp, dword [esi + 0x24]
sub edi, ebp
mov eax, ebx
lea ecx, [edi + 2]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4bbd80
test dl, dl
je 0x4bbd7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4bbd80
add eax, 2
add ecx, 2
test dl, dl
jne 0x4bbd60
xor eax, eax
jmp 0x4bbd85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4bbdb2
movzx ecx, byte [edi]
xor edx, edx
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 0xa4]
mov eax, dword [eax + 4]
cmp ecx, eax
sete dl
mov dword [esp + 0x1c], edx
je 0x4bbdb6
cmp edi, dword [esi + 0x28]
ja 0x4bbd58
jmp 0x4bbdb6
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x4bbe7b
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [ecx + 0x20]
jge 0x4bbd1e
mov edi, dword [ecx + 0x24]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x14c]
nop dword [eax]
add ebp, edi
lea eax, [ebx + 2]
lea ecx, [ebp + 1]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4bbe18
test dl, dl
je 0x4bbe14
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4bbe18
add eax, 2
add ecx, 2
test dl, dl
jne 0x4bbdf8
xor eax, eax
jmp 0x4bbe1d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4bbe52
movzx ecx, byte [ebp - 1]
xor edx, edx
movzx eax, byte [ebp]
shl ecx, 8
or ecx, eax
mov eax, dword [esi + 0xa4]
mov eax, dword [eax + 4]
cmp ecx, eax
sete dl
mov dword [esp + 0x1c], edx
je 0x4bbe56
mov edx, dword [esp + 0x28]
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esi + 0x20]
jl 0x4bbdf0
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test edx, edx
jne 0x4bbe7f
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
jmp 0x4bbe84
mov dword [esp + 0x1c], 1
jmp 0x4bbe7f
mov ebp, dword [esp + 0x14]
mov ecx, 3
mov eax, dword [esp + 0x1c]
add ebp, ecx
test eax, eax
jne 0x4bbe9f
mov edx, dword [esp + 0x14c]
cmp byte [ebp], 0x71
jne 0x4bb901
mov edx, dword [esp + 0x148]
mov edi, dword [esp + 0x14c]
add ebp, 3
cmp byte [esp + 0x27], 0x86
mov dword [esp + 0x14], ebp
je 0x4be88d
mov edx, dword [esp + 0x14c]
jmp 0x4be755
mov ebp, dword [esp + 0x14]
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x14c]
lea edi, [edx + edx]
mov dword [eax + 0x90], edx
cmp edi, dword [eax + 0x14]
jl 0x4bbf0d
mov edi, dword [esp + 0x148]
mov edx, eax
add ebp, 3
mov dword [esp + 0x14], ebp
mov dword [edx + 0x3c], 1
jmp 0x4bb799
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub eax, edx
mov edx, dword [esp + 0x14c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, esi
mov eax, dword [edx + 0xc]
sub ecx, dword [edx + 0x74]
mov dword [eax + edi*4 + 4], ecx
cmp dword [esp + 0x148], edi
jg 0x4bbf41
lea eax, [edi + 2]
mov dword [esp + 0x148], eax
mov edi, dword [esp + 0x148]
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp dword [edx + 0x98], 1
mov edi, dword [edx + 0xac]
jne 0x4bbf74
mov ebx, 1
mov dword [edx + 0x98], 0
jmp 0x4bbf76
xor ebx, ebx
mov ebp, dword [esp + 0x14]
nop word [eax + eax]
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push 0
push edx
push dword [esp + 0x154]
lea edx, [ebp + 3]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
cmp eax, 1
je 0x4bbfe7
cmp eax, 0xfffffc19
je 0x4bbfe7
test eax, eax
je 0x4bbfc2
cmp eax, 0xfffffc20
jne 0x4be768
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0x14c]
shl ecx, 8
or ecx, eax
add ebp, ecx
mov dword [edx + 0xac], edi
mov al, byte [ebp]
cmp al, 0x71
je 0x4bbf80
jmp 0x4bbffb
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x144], eax
mov al, byte [ebp]
cmp al, 0x72
je case.default.0x4bce59
test ebx, ebx
jne 0x4bea69
nop dword [eax + eax]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4bc010
mov edi, dword [edx + 0x8c]
add ebp, 3
mov dword [esp + 0x14], ebp
mov dword [esp + 0x148], edi
jmp 0x4bb792
cmp dword [edx + 0x98], 1
mov edi, dword [edx + 0xac]
jne 0x4bc05e
mov ebx, 1
mov dword [edx + 0x98], 0
jmp 0x4bc060
xor ebx, ebx
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push 0
push edx
push dword [esp + 0x154]
lea edx, [ebp + 3]
push dword [esp + 0x154]
call fcn.004bb6c0
mov edx, dword [esp + 0x160]
add esp, 0x14
mov dword [edx + 0xac], edi
cmp eax, 1
je case.default.0x4bce59
cmp eax, 0xfffffc19
je case.default.0x4bce59
cmp eax, 0xfffffc1e
je 0x4bc0f0
cmp eax, 0xfffffc1d
je 0x4bc0f0
cmp eax, 0xfffffc1a
je 0x4bc0f0
test eax, eax
je 0x4bc0d0
cmp eax, 0xfffffc20
jne 0x4be768
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4bc064
jmp 0x4bc105
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4bc0f0
test ebx, ebx
jne 0x4bea69
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4bb78b
mov ebp, dword [esp + 0x14]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
mov dword [esp + 0x18], esi
cmp esi, dword [edx + 0x74]
jb case.default.0x4bce59
cmp esi, dword [edx + 0x84]
jae 0x4bc147
mov dword [edx + 0x84], esi
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov edi, dword [0x4db1ec]
mov ebp, dword [esp + 0x14]
test edi, edi
je 0x4bc21e
movzx eax, byte [ebp + 1]
mov ecx, dword [edx + 0x74]
mov dword [esp + 0x5c], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x78]
sub eax, ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, ebx
sub eax, ecx
mov dword [esp + 0x58], 2
mov dword [esp + 0x6c], eax
mov eax, esi
sub eax, ecx
movzx ecx, byte [ebp + 6]
mov dword [esp + 0x70], eax
movzx eax, byte [ebp + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 9]
mov dword [esp + 0x80], ecx
movzx ecx, byte [ebp + 8]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x14c]
sar eax, 1
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 0x90]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 0xa8]
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 0xb0]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 2]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x58]
push eax
call edi
add esp, 4
test eax, eax
jg case.default.0x4bce59
js 0x4be768
mov edx, dword [esp + 0x14c]
add ebp, 0xa
mov edi, dword [esp + 0x148]
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov edi, dword [esp + 0x14]
movzx ebx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ebx, 8
or ebx, eax
add ebx, dword [edx + 0x70]
cmp ebx, dword [edx + 0x70]
jne 0x4bc255
xor ecx, ecx
jmp 0x4bc262
movzx ecx, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov edx, dword [edx + 0xa4]
mov eax, edx
test eax, eax
je 0x4bc284
nop
cmp ecx, dword [eax + 4]
jne 0x4bc27e
cmp esi, dword [eax + 0x10]
je 0x4be8c7
mov eax, dword [eax]
test eax, eax
jne 0x4bc270
mov ebp, dword [esp + 0x14c]
lea eax, [esp + 0x3c]
mov dword [esp + 0x40], ecx
add edi, 3
mov dword [esp + 0x4c], esi
mov dword [esp + 0x3c], edx
mov ecx, dword [ebp + 0x10]
mov dword [ebp + 0xa4], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x48], ecx
cmp ecx, 0x1e
jg 0x4bc2c1
lea eax, [esp + 0xc8]
mov dword [esp + 0x44], eax
jmp 0x4bc2e2
lea eax, [ecx*4]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
je 0x4be92d
mov ecx, dword [esp + 0x48]
shl ecx, 2
push ecx
push dword [ebp + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov al, byte [ebx]
add esp, 0xc
mov byte [esp + 0x27], al
cmp al, 0x82
jb 0x4bc306
mov dword [ebp + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ebx]
push ebp
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4c81a0]
push dword [esp + 0x154]
add edx, ebx
call fcn.004bb6c0
mov ecx, dword [esp + 0x5c]
add esp, 0x14
shl ecx, 2
mov edi, eax
push ecx
push dword [esp + 0x48]
push dword [ebp + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x48]
add esp, 0xc
mov dword [ebp + 0xa4], edx
cmp edi, 1
je 0x4bc3a6
cmp edi, 0xfffffc19
je 0x4bc3a6
test edi, edi
je 0x4bc37b
cmp edi, 0xfffffc20
jne 0x4be8d7
lea eax, [esp + 0x3c]
mov dword [ebp + 0xa4], eax
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x71
jne 0x4be8fd
mov al, byte [esp + 0x27]
jmp 0x4bc2f8
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xc8]
cmp eax, ecx
je 0x4bc3bf
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov edx, ebp
mov esi, dword [edx + 0x80]
mov ebx, dword [edx + 0x7c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x144], ebx
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x148]
jmp 0x4bb799
mov ebp, dword [esp + 0x14]
nop dword [eax]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4bc3f0
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
inc edi
push edx
push dword [esp + 0x154]
mov edx, edi
push ebx
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
cmp byte [edi], 0x71
je 0x4bc440
mov edx, dword [esp + 0x14c]
lea ebp, [edi + 3]
mov edi, dword [esp + 0x148]
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
mov edx, ebp
nop dword [eax]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x4bc480
mov eax, dword [esp + 0x154]
add edx, 3
inc eax
mov ecx, esi
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push edi
push ebx
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov edx, dword [esp + 0x14c]
jmp 0x4bb799
mov edx, dword [esp + 0x14]
inc edx
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x4bc4d3
lea ebp, [edx + 3]
mov edx, dword [esp + 0x14c]
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x14], ecx
movzx ebp, byte [ecx]
mov dword [esp + 0x34], ebp
cmp ebp, 0x80
je 0x4bc526
cmp ebp, 0x85
jne 0x4bc70f
movzx ebx, byte [ecx + 3]
movzx eax, byte [ecx + 4]
shl ebx, 8
or ebx, eax
lea eax, [ebx + ebx]
cmp eax, dword [edx + 0x14]
jge 0x4bc707
sub ecx, dword [edx + 0x70]
xor ebp, ebp
shl eax, 2
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x1c], eax
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x10]
sub eax, ebx
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14c]
mov edi, dword [eax + 0x90]
jmp 0x4bc585
mov eax, edx
mov ecx, dword [eax + 0x10]
mov edx, esi
sub edx, dword [eax + 0x74]
sub ecx, ebx
cmp dword [esp + 0x34], 0x82
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x4bc5b0
mov eax, dword [esp + 0x14c]
mov dword [eax + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ecx]
push dword [esp + 0x154]
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4c81a0]
push dword [esp + 0x154]
add edx, ecx
mov ecx, esi
call fcn.004bb6c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
jne 0x4bc632
mov eax, dword [esp + 0x14c]
mov ebp, 1
mov ecx, dword [eax + 0x8c]
mov esi, dword [eax + 0x80]
mov edi, dword [eax + 0x90]
mov dword [esp + 0x148], ecx
mov ecx, dword [eax + 0x70]
add ecx, dword [esp + 0x28]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
jmp 0x4bc585
cmp edx, 0xfffffc20
jne 0x4bc676
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14c]
add ecx, dword [esp + 0x14]
cmp dword [eax + 0x7c], ecx
jae 0x4bc669
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x71
je 0x4bc67e
cmp byte [ecx], 0x71
je 0x4bc67e
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
test edx, edx
jne 0x4bc669
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
mov dword [edx + 0x90], edi
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
cmp byte [eax], 0x71
je 0x4bc583
test ebp, ebp
jne 0x4bc6e0
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14c]
mov edx, dword [esp + 0x30]
mov dword [ecx + eax], edx
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0x20]
mov dword [ecx + eax + 4], edx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
sub ecx, ebx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4], edx
mov edx, edi
cmp dword [esp + 0x2c], 0
jne 0x4bb8fd
test ebp, ebp
je case.default.0x4bce59
mov ebp, dword [esp + 0x14]
add ebp, 3
mov dword [esp + 0x14], ebp
jmp 0x4bb78b
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], 0
mov edi, ecx
xor ebx, ebx
sub edi, dword [edx + 0x70]
cmp ebp, 0x82
jb 0x4bc728
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x154]
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4c81a0]
push dword [esp + 0x154]
add edx, ecx
mov ecx, esi
call fcn.004bb6c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
jne 0x4bc795
mov edx, dword [esp + 0x14c]
mov ebx, 1
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x8c]
add ecx, edi
mov esi, dword [edx + 0x80]
mov dword [esp + 0x148], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
jmp 0x4bc716
cmp edx, 0xfffffc20
jne 0x4bc7d0
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14c]
add ecx, dword [esp + 0x14]
cmp dword [eax + 0x7c], ecx
jae 0x4bc669
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x71
je 0x4bc7d8
cmp byte [ecx], 0x71
jmp 0x4bc7d2
test edx, edx
jne 0x4bc669
mov edx, dword [esp + 0x14]
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
mov ecx, edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14c]
cmp byte [ecx], 0x71
je 0x4bc716
test ebx, ebx
jne 0x4bb8fd
cmp dword [esp + 0x2c], ebx
jmp 0x4bc6ed
mov ebx, dword [esp + 0x14]
mov ebp, ebx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
sub ebp, ecx
mov al, byte [ebp]
cmp al, 0x82
jae 0x4bc83c
cmp al, 0x7b
je 0x4bc83c
mov dword [esp + 0x2c], 0
jmp 0x4bc85a
mov ecx, dword [esp + 0x150]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x150]
mov ecx, dword [ecx]
mov dword [esp + 0x150], ecx
cmp al, 0x77
jb 0x4bc866
cmp al, 0x7a
jbe 0x4bea53
cmp al, 0x7c
je 0x4bea53
cmp al, 0x7f
je 0x4bc882
cmp al, 0x84
je 0x4bc882
cmp al, 0x80
je 0x4bc882
cmp al, 0x85
jne 0x4bc940
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
mov edi, dword [esp + 0x14c]
shl edx, 8
or edx, eax
mov eax, dword [edi + 0xa4]
lea ebx, [edx + edx]
test eax, eax
je 0x4bc8ac
cmp dword [eax + 4], edx
je 0x4be93d
mov dword [edi + 0x90], edx
cmp ebx, dword [edi + 0x14]
jl 0x4bc8c9
mov edx, edi
mov edi, dword [esp + 0x148]
mov dword [edx + 0x3c], 1
jmp 0x4bc93c
mov ecx, dword [esp + 0x148]
cmp ebx, ecx
jle 0x4bc906
mov eax, dword [edi + 0xc]
mov dword [esp + 0x38], 0
lea edi, [eax + ecx*4]
lea eax, [eax + ebx*4]
mov ecx, eax
sub ecx, edi
add ecx, 3
shr ecx, 2
cmp edi, eax
cmova ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4bc8ff
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x14c]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, edx
mov edx, dword [esp + 0x14c]
mov edi, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
mov dword [ecx + ebx*4], eax
mov ecx, esi
mov eax, dword [edx + 0xc]
sub ecx, dword [edx + 0x74]
mov dword [eax + ebx*4 + 4], ecx
cmp edi, ebx
jg 0x4bc93c
lea edi, [ebx + 2]
mov dword [esp + 0x148], edi
mov ebx, dword [esp + 0x14]
mov al, byte [ebx]
cmp al, 0x72
je 0x4bc950
cmp esi, dword [esp + 0x2c]
jne 0x4be53d
add ebx, 3
cmp byte [ebp], 0x7b
mov dword [esp + 0x14], ebx
je 0x4bea09
mov ebp, ebx
jmp 0x4bb792
cmp dword [edx + 0x40], 0
je case.0x4bb7ca.1
cmp esi, dword [edx + 0x74]
je case.default.0x4bce59
cmp esi, dword [edx + 0x74]
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp dword [edx + 0x40], 0
je 0x4bc99e
cmp esi, dword [edx + 0x74]
je case.default.0x4bce59
mov ecx, dword [edx + 0x74]
jmp 0x4bc9a9
mov ecx, dword [edx + 0x74]
cmp esi, ecx
je 0x4bca24
cmp esi, dword [edx + 0x78]
je case.default.0x4bce59
mov edx, dword [edx + 0x18]
test edx, edx
je 0x4bc9ea
cmp esi, ecx
jbe case.default.0x4bce59
mov eax, dword [esp + 0x14c]
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004c0bb0
add esp, 0xc
test eax, eax
je case.default.0x4bce59
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb792
mov ebx, dword [esp + 0x14c]
mov edx, dword [ebx + 0x1c]
lea eax, [ecx + edx]
cmp esi, eax
jb case.default.0x4bce59
mov ecx, esi
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [ebx + 0x2c]
jne case.default.0x4bce59
cmp edx, 1
je 0x4bca22
mov al, byte [ecx + 1]
mov edx, ebx
cmp al, byte [edx + 0x2d]
je 0x4bca24
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, ebx
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb792
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x74]
cmp esi, eax
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov ebp, dword [esp + 0x14]
mov ebx, esi
inc ebp
mov dword [esp + 0x144], ebx
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4bcae7
mov edx, dword [edx + 0x18]
test edx, edx
je 0x4bcaa3
mov eax, dword [esp + 0x14c]
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004c0b20
add esp, 0xc
test eax, eax
je case.default.0x4bce59
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb792
mov ebx, dword [esp + 0x14c]
mov edx, dword [ebx + 0x1c]
sub ecx, edx
cmp esi, ecx
ja case.default.0x4bce59
mov al, byte [esi]
cmp al, byte [ebx + 0x2c]
jne case.default.0x4bce59
cmp edx, 1
je 0x4bca22
mov al, byte [esi + 1]
mov edx, ebx
cmp al, byte [edx + 0x2d]
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb792
cmp dword [edx + 0x44], 0
jne case.default.0x4bce59
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4bca24
cmp esi, dword [edx + 0x84]
jbe 0x4bca24
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb792
cmp dword [edx + 0x44], 0
jne case.default.0x4bce59
cmp dword [edx + 0x54], 0
je case.0x4bb7ca.23
cmp esi, dword [edx + 0x78]
jb case.default.0x4bce59
mov eax, dword [edx + 0x88]
test eax, eax
je case.0x4bce59.10
cmp esi, dword [edx + 0x84]
jbe case.0x4bce59.10
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4bcbdd
mov ebx, dword [esp + 0x14c]
mov edx, dword [edx + 0x18]
lea edi, [ebx + 0x1c]
test edx, edx
je 0x4bcba7
push 0
push edi
push ecx
mov ecx, esi
call fcn.004c0b20
add esp, 0xc
test eax, eax
je case.default.0x4bce59
mov ecx, dword [ebx + 0x78]
mov edx, dword [edi]
jmp 0x4bcbd1
mov edx, dword [edi]
mov eax, ecx
sub eax, edx
cmp esi, eax
ja case.default.0x4bce59
mov al, byte [esi]
cmp al, byte [ebx + 0x2c]
jne case.default.0x4bce59
cmp edx, 1
je 0x4bcbd1
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x2d]
jne case.default.0x4bce59
sub ecx, edx
cmp esi, ecx
jne case.default.0x4bce59
mov edx, ebx
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4bcbff
cmp esi, dword [edx + 0x84]
jbe 0x4bcbff
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb78b
cmp esi, dword [edx + 0x74]
jne 0x4bcc16
xor edx, edx
jmp 0x4bcc38
cmp esi, dword [edx + 0x84]
ja 0x4bcc27
lea eax, [esi - 1]
mov dword [edx + 0x84], eax
mov ecx, dword [edx + 0x38]
movzx eax, byte [esi - 1]
movzx edx, byte [eax + ecx]
shr edx, 4
and edx, 1
mov ecx, dword [esp + 0x14c]
cmp esi, dword [ecx + 0x78]
jb 0x4bcc6a
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4bcc66
cmp esi, dword [ecx + 0x84]
jbe 0x4bcc66
mov dword [ecx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
xor ecx, ecx
jmp 0x4bcc7a
mov ecx, dword [ecx + 0x38]
movzx eax, byte [esi]
movzx ecx, byte [eax + ecx]
shr ecx, 4
and ecx, 1
mov ebp, dword [esp + 0x14]
xor edx, ecx
mov al, byte [ebp]
inc ebp
mov dword [esp + 0x14], ebp
cmp al, 5
jne 0x4bcc8f
xor edx, 1
test edx, edx
jne case.default.0x4bce59
mov edx, dword [esp + 0x14c]
jmp 0x4bb799
mov edx, dword [edx + 0x18]
test edx, edx
je 0x4bccda
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4bcd0b
push 0
add eax, 0x1c
push eax
push ecx
mov ecx, esi
call fcn.004c0b20
add esp, 0xc
test eax, eax
jne case.default.0x4bce59
mov edx, dword [esp + 0x14c]
jmp case.0x4bb7ca.13
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x78]
mov ecx, dword [edx + 0x1c]
sub eax, ecx
cmp esi, eax
ja case.0x4bb7ca.13
mov al, byte [esi]
cmp al, byte [edx + 0x2c]
jne case.0x4bb7ca.13
cmp ecx, 1
je case.default.0x4bce59
mov al, byte [esi + 1]
cmp al, byte [edx + 0x2d]
je case.default.0x4bce59
jmp case.0x4bb7ca.13
mov edx, eax
cmp esi, dword [edx + 0x78]
jae 0x4bea79
mov ebp, dword [esp + 0x14]
inc esi
inc ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 4
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 4
je case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 1
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 1
je case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 0x10
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
movzx ecx, byte [esi]
inc esi
mov eax, dword [edx + 0x38]
mov dword [esp + 0x18], esi
test byte [ecx + eax], 0x10
je case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4bea79
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp eax, 0x85
ja 0x4bce84
je case.0x4bce59.11
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x4bce59
jmp dword [eax*4 + 0x4bf820]
cmp esi, ecx
jae case.0x4bce59.10
cmp byte [esi], 0xa
jne case.0x4bce59.10
mov ebp, dword [esp + 0x14]
inc esi
inc ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
jmp 0x4bb799
sub eax, 0x2028
je case.0x4bce59.11
sub eax, 1
jne case.default.0x4bce59
cmp dword [edx + 0x64], 0
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp al, 0xa0
ja case.0x4bce59.10
je case.default.0x4bce59
cmp al, 9
je case.default.0x4bce59
cmp al, 0x20
je case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp al, 0xa0
ja case.default.0x4bce59
je case.0x4bce59.10
cmp al, 9
je case.0x4bce59.10
cmp al, 0x20
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp eax, 0x85
ja 0x4bcf55
je case.default.0x4bce59
add eax, 0xfffffff6
cmp eax, 3
ja case.0x4bce59.10
jmp dword [eax*4 + 0x4bf830]
sub eax, 0x2028
je case.default.0x4bce59
sub eax, 1
je case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp eax, 0x85
ja 0x4bcfa8
je case.0x4bce59.10
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x4bce59
jmp dword [eax*4 + 0x4bf840]
sub eax, 0x2028
je case.0x4bce59.10
sub eax, 1
jne case.default.0x4bce59
mov ebp, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov ebx, dword [esp + 0x14]
xor edx, edx
cmp ebp, 0x6e
sete dl
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
add ebx, 3
shl ecx, 8
or ecx, eax
mov dword [esp + 0x34], edx
add ecx, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], ecx
cmp ecx, edi
jge 0x4bd011
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x4bd011
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, edi
jmp 0x4bd022
mov eax, dword [esp + 0x14c]
mov ebp, dword [eax + 0x4c]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov bl, byte [ebx]
movzx edi, bl
lea eax, [edi - 0x62]
cmp eax, 7
ja case.default.0x4bd03a
movzx eax, byte [eax + 0x4bf858]
jmp dword [eax*4 + 0x4bf850]
movsx eax, byte [edi + 0x4c7cea]
lea ebx, [edi - 0x62]
inc dword [esp + 0x14]
and ebx, 1
mov dword [esp + 0x1c], ebx
movsx ebx, byte [edi + 0x4c7cf2]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4bd0ae
mov dword [esp + 0x28], connect
jmp 0x4bd0ae
mov edi, dword [esp + 0x14]
xor eax, eax
cmp bl, 0x69
sete al
movzx ebx, byte [edi + 1]
mov dword [esp + 0x1c], eax
movzx eax, byte [edi + 2]
movzx edi, byte [edi + 3]
shl ebx, 8
or ebx, eax
shl edi, 8
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + 4]
or edi, eax
mov eax, SysReAllocString
cmove edi, eax
add dword [esp + 0x14], 5
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x148]
test ebp, ebp
je 0x4bb772
jns 0x4bd0c7
test ebx, ebx
je 0x4bb772
mov edi, 1
cmp ebx, edi
jl 0x4bd0fe
push edx
push dword [esp + 0x150]
mov edx, esi
push ebp
call fcn.004bb630
add esp, 0xc
test eax, eax
js 0x4bea92
mov ecx, dword [esp + 0x2c]
add esi, eax
mov edx, dword [esp + 0x34]
inc edi
mov dword [esp + 0x18], esi
cmp edi, ebx
jle 0x4bd0d0
mov eax, dword [esp + 0x28]
cmp ebx, eax
je 0x4bb780
cmp dword [esp + 0x1c], 0
je 0x4beac8
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov edi, dword [esp + 0x2c]
cmp ebx, dword [esp + 0x28]
jge case.default.0x4bce59
push dword [esp + 0x34]
mov edx, esi
mov ecx, edi
push dword [esp + 0x150]
push ebp
call fcn.004bb630
add esp, 0xc
test eax, eax
js 0x4bea92
mov edx, dword [esp + 0x14]
add esi, eax
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
inc ebx
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bd154
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ebx, dword [esp + 0x14c]
push edx
push ebx
push ebp
mov edx, esi
call fcn.004bb630
add esp, 0xc
test eax, eax
js 0x4beb7c
add esi, eax
mov edx, ebx
mov dword [esp + 0x18], esi
jmp 0x4bb787
mov edi, dword [esp + 0x14]
mov dl, byte [edi + 0x21]
lea ebp, [edi + 1]
add edi, 0x21
movzx ecx, dl
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x14], edi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4bd217
movzx eax, byte [eax + 0x4bf868]
jmp dword [eax*4 + 0x4bf860]
movsx eax, byte [ecx + 0x4c7cea]
lea edx, [ecx - 0x62]
movsx ebx, byte [ecx + 0x4c7cf2]
inc edi
and edx, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4bd286
mov dword [esp + 0x28], connect
jmp 0x4bd286
movzx ebx, byte [edi + 1]
xor eax, eax
movzx ecx, byte [edi + 3]
cmp dl, 0x69
sete al
shl ebx, 8
mov dword [esp + 0x20], eax
movzx eax, byte [edi + 2]
or ebx, eax
shl ecx, 8
movzx eax, byte [edi + 4]
or ecx, eax
mov eax, SysReAllocString
cmove ecx, eax
add edi, 5
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edi
cmp ebx, 1
jl 0x4bd2e3
jmp 0x4bd29a
mov dword [esp + 0x28], 1
mov ebx, 1
mov ecx, dword [esp + 0x14c]
mov edi, 1
mov ebp, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ebp
jae 0x4bec6b
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], esi
test byte [edx + ecx], al
je case.default.0x4bce59
inc edi
cmp edi, ebx
jle 0x4bd2b0
mov ebp, ecx
mov edi, dword [esp + 0x28]
cmp ebx, edi
je 0x4bb780
cmp dword [esp + 0x20], 0
je 0x4bebab
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
cmp ebx, edi
jge case.default.0x4bce59
mov ecx, dword [esp + 0x14c]
cmp esi, dword [ecx + 0x78]
jae 0x4bec72
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
inc esi
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x4bce59
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
inc ebx
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bd335
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [edx + 0x78]
sub eax, esi
cmp eax, 1
jl 0x4bea79
mov ebp, dword [esp + 0x14]
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp byte [ebp + 1], al
jne case.default.0x4bce59
add ebp, 2
mov dword [esp + 0x14], ebp
jmp 0x4bb799
cmp esi, dword [edx + 0x78]
jae 0x4bea79
mov ebp, dword [esp + 0x14]
mov edx, dword [edx + 0x30]
movzx ecx, byte [esi]
movzx eax, byte [ebp + 1]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.default.0x4bce59
mov edx, dword [esp + 0x14c]
inc esi
add ebp, 2
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
jmp 0x4bb799
mov edx, dword [esp + 0x14]
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
add edx, 3
mov edi, ebp
jmp 0x4bd4e6
mov dword [esp + 0x30], 1
mov edx, dword [esp + 0x14]
xor edi, edi
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x1c], ebp
cmp cl, 0x28
je 0x4bd45d
mov dword [esp + 0x20], edi
cmp cl, 0x35
jne 0x4bd465
mov dword [esp + 0x20], 1
add edx, 3
jmp 0x4bd4ea
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
mov ebp, SysReAllocString
inc edx
jmp 0x4bd4e6
mov edx, dword [esp + 0x14]
mov edi, 1
mov dword [esp + 0x30], 1
mov ebp, SysReAllocString
inc edx
jmp 0x4bd4e6
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
inc edx
lea ebp, [edi + 1]
jmp 0x4bd4e6
cmp ebp, 0x2e
sbb eax, eax
inc dword [esp + 0x14]
and eax, 0xfffffff3
add eax, 0x2e
sub ebp, eax
mov eax, SysReAllocString
mov edx, ebp
and edx, 1
mov dword [esp + 0x20], edx
movsx edi, byte [ebp + 0x4c7d54]
movsx ebp, byte [ebp + 0x4c7d4c]
mov edx, dword [esp + 0x14]
test ebp, ebp
cmove ebp, eax
mov dword [esp + 0x1c], ebp
movzx ebx, byte [edx]
inc edx
mov dword [esp + 0x14], edx
cmp cl, 0x2e
jb 0x4bd62e
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x34]
mov al, byte [ebx + eax]
mov byte [esp + 0x27], al
movzx ebp, al
cmp edi, 1
jl 0x4bd548
mov edx, dword [ecx + 0x78]
mov ecx, 1
nop dword [eax]
cmp esi, edx
jae 0x4bec6b
movzx eax, byte [esi]
cmp ebx, eax
je 0x4bd537
cmp ebp, eax
jne case.default.0x4bce59
inc esi
inc ecx
mov dword [esp + 0x18], esi
cmp ecx, edi
jle 0x4bd520
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x1c]
cmp edi, edx
je 0x4bb780
cmp dword [esp + 0x20], 0
jne 0x4bec85
mov eax, esi
mov dword [esp + 0x28], eax
cmp edi, edx
jge 0x4bd591
mov ecx, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4bd5fc
movzx eax, byte [esi]
cmp ebx, eax
je 0x4bd583
cmp ebp, eax
jne 0x4bd58d
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, edx
jl 0x4bd570
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4bb787
cmp esi, eax
jb case.default.0x4bce59
mov edi, dword [esp + 0x28]
nop
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
dec esi
test eax, eax
jne 0x4be768
mov edx, dword [esp + 0x14c]
cmp esi, edi
jae 0x4bd5b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4bd625
cmp esi, dword [edx + 0x84]
jbe 0x4bd625
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
mov eax, dword [esp + 0x28]
jmp 0x4bd598
mov ecx, 1
cmp edi, ecx
jl 0x4bd662
mov eax, dword [esp + 0x14c]
mov edx, dword [eax + 0x78]
cmp esi, edx
jae 0x4bec6b
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp ebx, eax
jne case.default.0x4bce59
inc ecx
cmp ecx, edi
jle 0x4bd641
mov edx, dword [esp + 0x14]
cmp edi, ebp
je 0x4bb780
cmp dword [esp + 0x20], 0
jne 0x4bed29
mov edx, dword [esp + 0x1c]
mov ebp, esi
cmp edi, edx
jge 0x4bd6a5
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4bd70c
movzx eax, byte [esi]
cmp ebx, eax
jne 0x4bd6a5
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, edx
jl 0x4bd690
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4bb787
cmp esi, ebp
jb case.default.0x4bce59
nop
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
dec esi
test eax, eax
jne 0x4be768
mov edx, dword [esp + 0x14c]
cmp esi, ebp
jae 0x4bd6c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4bd6ac
cmp esi, dword [edx + 0x84]
jbe 0x4bd6ac
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
jmp 0x4bd6ac
cmp esi, dword [edx + 0x78]
jae 0x4bea79
mov eax, dword [esp + 0x14]
movzx ecx, byte [esi]
inc esi
mov dword [esp + 0x18], esi
movzx edx, byte [eax + 1]
add eax, 2
mov dword [esp + 0x14], eax
cmp ebp, 0x20
jne 0x4bd78d
cmp edx, ecx
je case.default.0x4bce59
mov eax, dword [esp + 0x14c]
mov eax, dword [eax + 0x34]
movzx eax, byte [eax + edx]
cmp eax, ecx
je case.default.0x4bce59
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x14]
jmp 0x4bb799
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x14], ebp
cmp edx, ecx
je case.default.0x4bce59
mov edx, dword [esp + 0x14c]
jmp 0x4bb799
mov edx, dword [esp + 0x14]
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
add edx, 3
mov edi, ebp
jmp 0x4bd895
mov edx, dword [esp + 0x14]
xor edi, edi
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
mov dword [esp + 0x1c], ebp
cmp cl, 0x42
je 0x4bd7e9
mov dword [esp + 0x20], edi
cmp cl, 0x4f
jne 0x4bd7f1
mov dword [esp + 0x20], 1
add edx, 3
jmp 0x4bd899
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
mov ebp, SysReAllocString
inc edx
jmp 0x4bd895
mov edx, dword [esp + 0x14]
mov edi, 1
mov dword [esp + 0x30], 1
mov ebp, SysReAllocString
inc edx
jmp 0x4bd895
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
inc edx
lea ebp, [edi + 1]
jmp 0x4bd895
mov edx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x30], 1
movzx ebp, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ebp, 8
or ebp, eax
add edx, 3
jmp 0x4bd895
cmp ebp, 0x48
sbb eax, eax
inc dword [esp + 0x14]
and eax, 0xfffffff3
add eax, 0x48
sub ebp, eax
mov eax, SysReAllocString
mov edx, ebp
and edx, 1
mov dword [esp + 0x20], edx
movsx edi, byte [ebp + 0x4c7d54]
movsx ebp, byte [ebp + 0x4c7d4c]
mov edx, dword [esp + 0x14]
test ebp, ebp
cmove ebp, eax
mov dword [esp + 0x1c], ebp
movzx ebx, byte [edx]
inc edx
cmp cl, 0x48
mov dword [esp + 0x14], edx
mov ecx, 1
jb 0x4bd9de
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x34]
mov al, byte [ebx + eax]
mov byte [esp + 0x27], al
movzx ebp, al
cmp edi, ecx
jl 0x4bd8f5
mov edx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x4bec6b
movzx eax, byte [esi]
cmp ebx, eax
je case.default.0x4bce59
cmp ebp, eax
je case.default.0x4bce59
inc esi
inc ecx
mov dword [esp + 0x18], esi
cmp ecx, edi
jle 0x4bd8d0
mov edx, dword [esp + 0x1c]
cmp edi, edx
je 0x4bb780
cmp dword [esp + 0x20], 0
jne 0x4bedc1
mov eax, esi
mov dword [esp + 0x1c], eax
cmp edi, edx
jge 0x4bd941
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4bd9ac
movzx eax, byte [esi]
cmp ebx, eax
je 0x4bd93d
cmp ebp, eax
je 0x4bd93d
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, edx
jl 0x4bd920
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4bb787
cmp esi, eax
jb case.default.0x4bce59
mov edi, dword [esp + 0x1c]
nop
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov edx, dword [esp + 0x14c]
dec esi
cmp esi, edi
jae 0x4bd960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4bd9d5
cmp esi, dword [edx + 0x84]
jbe 0x4bd9d5
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
mov eax, dword [esp + 0x1c]
jmp 0x4bd948
cmp edi, 1
jl 0x4bda11
mov eax, dword [esp + 0x14c]
mov edx, dword [eax + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x4bec6b
movzx eax, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp ebx, eax
je case.default.0x4bce59
inc ecx
cmp ecx, edi
jle 0x4bd9f0
mov edx, dword [esp + 0x14]
cmp edi, ebp
je 0x4bb780
cmp dword [esp + 0x20], 0
jne 0x4bee6d
mov edx, dword [esp + 0x1c]
mov ebp, esi
cmp edi, edx
jge 0x4bda51
mov eax, dword [esp + 0x14c]
mov ecx, dword [eax + 0x78]
cmp esi, ecx
jae 0x4bdabc
movzx eax, byte [esi]
cmp ebx, eax
je 0x4bda51
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, edx
jl 0x4bda38
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4bb787
cmp esi, ebp
jb case.default.0x4bce59
nop dword [eax + eax]
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov edx, dword [esp + 0x14c]
dec esi
cmp esi, ebp
jae 0x4bda70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4bda58
cmp esi, dword [edx + 0x84]
jbe 0x4bda58
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
jmp 0x4bda58
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], 1
movzx ebp, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ebp, 8
or ebp, eax
add edi, 3
mov dword [esp + 0x1c], ebp
mov ebx, ebp
jmp 0x4bdc1e
mov edi, dword [esp + 0x14]
xor ebx, ebx
movzx ebp, byte [edi + 3]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], ebp
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], ecx
lea eax, [edi + 3]
xor ecx, ecx
cmp byte [esp + 0x27], 0x5c
sete cl
inc eax
mov dword [esp + 0x14], eax
jmp 0x4bdcd5
mov ebp, SysReAllocString
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x30], 1
movzx ecx, byte [eax + 1]
add eax, 2
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
jmp 0x4bdcfb
mov eax, dword [esp + 0x14]
mov ebx, 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x1c], connect
movzx edx, byte [eax + 1]
add eax, 2
mov dword [esp + 0x28], edx
mov ecx, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x14], eax
jmp 0x4bdc44
mov ebp, 1
jmp 0x4bdb58
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x30], 1
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x1c], ecx
movzx ecx, byte [edi + 3]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ecx
lea ecx, [edi + 4]
mov dword [esp + 0x14], ecx
jmp 0x4bdccd
mov edi, dword [esp + 0x14]
lea edx, [ebp - 0x55]
movsx ebx, byte [ebp + 0x4c7cff]
and edx, 1
mov dword [esp + 0x20], edx
inc edi
movsx edx, byte [ebp + 0x4c7cf7]
mov eax, SysReAllocString
test edx, edx
cmove edx, eax
mov dword [esp + 0x1c], edx
movzx eax, byte [edi]
inc edi
mov dword [esp + 0x28], eax
mov ecx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], 0
test ebx, ebx
jle 0x4be047
lea eax, [ecx - 6]
cmp eax, 0xf
ja case.0x4bf036.15
jmp dword [eax*4 + 0x4bf870]
mov edi, 1
cmp ebx, edi
jb 0x4be047
mov ebp, dword [esp + 0x14c]
nop dword [eax + eax]
mov eax, dword [ebp + 0x78]
cmp esi, eax
jae 0x4bef05
mov edx, dword [ebp + 0x18]
lea ecx, [ebp + 0x1c]
test edx, edx
je 0x4bdc9d
push 0
push ecx
push eax
mov ecx, esi
call fcn.004c0b20
add esp, 0xc
test eax, eax
jne case.default.0x4bce59
jmp 0x4bdcc1
mov ecx, dword [ecx]
sub eax, ecx
cmp esi, eax
ja 0x4bdcc1
mov al, byte [esi]
cmp al, byte [ebp + 0x2c]
jne 0x4bdcc1
cmp ecx, 1
je case.default.0x4bce59
mov al, byte [esi + 1]
cmp al, byte [ebp + 0x2d]
je case.default.0x4bce59
inc esi
inc edi
mov dword [esp + 0x18], esi
cmp edi, ebx
jle 0x4bdc70
mov edx, ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov ebp, eax
mov edi, esi
cmp ebx, dword [esp + 0x1c]
je 0x4bb787
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
test ecx, ecx
jne 0x4bef51
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x1c]
lea eax, [ecx - 6]
mov edi, esi
cmp eax, 0xf
ja case.0x4bf036.15
jmp dword [eax*4 + 0x4bf8b0]
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x78]
sub eax, ebx
cmp esi, eax
ja 0x4bea79
add esi, ebx
mov dword [esp + 0x18], esi
jmp 0x4bdccd
mov ecx, 1
cmp ebx, ecx
jb 0x4be047
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x4bef2b
movzx eax, byte [esi]
inc esi
sub eax, 0xa
mov dword [esp + 0x18], esi
cmp eax, 0x7b
ja case.default.0x4bce59
movzx eax, byte [eax + 0x4bf900]
jmp dword [eax*4 + 0x4bf8f0]
cmp esi, edx
jae case.0x4bdd66.10
cmp byte [esi], 0xa
jne case.0x4bdd66.10
inc esi
mov dword [esp + 0x18], esi
jmp case.0x4bdd66.10
cmp dword [edi + 0x64], 0
jne case.default.0x4bce59
inc ecx
cmp ecx, ebx
jle 0x4bdd43
mov edx, edi
jmp 0x4bdccd
mov ecx, 1
cmp ebx, ecx
jb 0x4be047
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x4bef2b
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp al, 9
je case.default.0x4bce59
cmp al, 0x20
je case.default.0x4bce59
cmp al, 0xa0
je case.default.0x4bce59
inc ecx
cmp ecx, ebx
jle 0x4bddb0
mov edx, edi
jmp 0x4bdccd
mov ecx, 1
cmp ebx, ecx
jb 0x4be047
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
nop word [eax + eax]
cmp esi, edx
jae 0x4bef2b
mov al, byte [esi]
inc esi
mov dword [esp + 0x18], esi
cmp al, 9
je 0x4bde1f
cmp al, 0x20
je 0x4bde1f
cmp al, 0xa0
jne case.default.0x4bce59
inc ecx
cmp ecx, ebx
jle 0x4bde00
mov edx, edi
jmp 0x4bdccd
mov ecx, 1
cmp ebx, ecx
jb 0x4be047
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
cmp esi, edx
jae 0x4bef2b
movzx eax, byte [esi]
inc esi
sub eax, 0xa
mov dword [esp + 0x18], esi
cmp eax, 0x7b
ja case.0x4bde61.14
movzx eax, byte [eax + 0x4bf984]
jmp dword [eax*4 + 0x4bf97c]
inc ecx
cmp ecx, ebx
jle 0x4bde42
mov edx, edi
jmp 0x4bdccd
mov ecx, 1
cmp ebx, ecx
jb 0x4be047
mov edi, dword [esp + 0x14c]
mov edx, dword [edi + 0x78]
nop dword [eax + eax]
cmp esi, edx
jae 0x4bef2b
movzx eax, byte [esi]
inc esi
sub eax, 0xa
mov dword [esp + 0x18], esi
cmp eax, 0x7b
ja case.default.0x4bce59
movzx eax, byte [eax + 0x4bfa08]
jmp dword [eax*4 + 0x4bfa00]
inc ecx
cmp ecx, ebx
jle 0x4bde90
mov edx, edi
jmp 0x4bdccd
mov edx, 1
cmp ebx, edx
jb 0x4be047
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop dword [eax]
cmp esi, edi
jae 0x4bef05
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
jne case.default.0x4bce59
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4bdee0
jmp 0x4bdccb
mov edx, 1
cmp ebx, edx
jb 0x4be047
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop
cmp esi, edi
jae 0x4bef05
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 4
je case.default.0x4bce59
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4bdf20
jmp 0x4bdccb
mov edx, 1
cmp ebx, edx
jb 0x4be047
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop
cmp esi, edi
jae 0x4bef05
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
jne case.default.0x4bce59
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4bdf60
jmp 0x4bdccb
mov edx, 1
cmp ebx, edx
jb 0x4be047
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop
cmp esi, edi
jae 0x4bef05
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 1
je case.default.0x4bce59
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4bdfa0
jmp 0x4bdccb
mov edx, 1
cmp ebx, edx
jb 0x4be047
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x4bef05
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
jne case.default.0x4bce59
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4bdfe0
jmp 0x4bdccb
mov edx, 1
cmp ebx, edx
jb 0x4be047
mov ebp, dword [esp + 0x14c]
mov edi, dword [ebp + 0x78]
nop word [eax + eax]
cmp esi, edi
jae 0x4bef05
movzx ecx, byte [esi]
mov eax, dword [ebp + 0x38]
test byte [ecx + eax], 0x10
je case.default.0x4bce59
inc esi
inc edx
mov dword [esp + 0x18], esi
cmp edx, ebx
jle 0x4be020
jmp 0x4bdccb
mov edx, dword [esp + 0x14c]
jmp 0x4bdccd
cmp ebx, ebp
jge 0x4be3ec
nop dword [eax + eax]
mov eax, dword [edx + 0x78]
cmp esi, eax
jae 0x4be2b9
mov ecx, dword [esp + 0x14c]
mov edx, dword [edx + 0x18]
add ecx, 0x1c
test edx, edx
je 0x4be09b
push 0
push ecx
push eax
mov ecx, esi
call fcn.004c0b20
mov edx, dword [esp + 0x158]
add esp, 0xc
test eax, eax
jne 0x4be3ec
jmp 0x4be0c6
mov ecx, dword [ecx]
sub eax, ecx
mov edx, dword [esp + 0x14c]
cmp esi, eax
ja 0x4be0c6
mov al, byte [esi]
cmp al, byte [edx + 0x2c]
jne 0x4be0c6
cmp ecx, 1
je 0x4be3ec
mov al, byte [esi + 1]
cmp al, byte [edx + 0x2d]
je 0x4be3ec
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be060
jmp 0x4be3ec
mov ecx, dword [edx + 0x78]
sub ebp, ebx
mov eax, ecx
sub eax, esi
cmp ebp, eax
jbe 0x4be117
mov eax, dword [edx + 0x88]
mov esi, ecx
mov dword [esp + 0x18], esi
test eax, eax
je 0x4be3ec
cmp esi, dword [edx + 0x84]
jbe 0x4be3ec
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
jmp 0x4be3ec
add esi, ebp
mov dword [esp + 0x18], esi
jmp 0x4be3ec
cmp ebx, ebp
jge 0x4be3ec
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4be2b9
mov al, byte [esi]
cmp al, 0xd
jne 0x4be152
inc esi
mov dword [esp + 0x18], esi
cmp esi, ecx
jae 0x4be3ec
cmp byte [esi], 0xa
jne 0x4be175
jmp 0x4be170
cmp al, 0xa
je 0x4be170
cmp dword [edx + 0x64], 0
jne 0x4be3ec
cmp al, 0xb
je 0x4be170
cmp al, 0xc
je 0x4be170
cmp al, 0x85
jne 0x4be3ec
inc esi
mov dword [esp + 0x18], esi
inc ebx
cmp ebx, ebp
jl 0x4be130
jmp 0x4be3ec
cmp ebx, ebp
jge 0x4be3ec
mov ecx, dword [edx + 0x78]
nop word [eax + eax]
cmp esi, ecx
jae 0x4be2b9
mov al, byte [esi]
cmp al, 9
je 0x4be3ec
cmp al, 0x20
je 0x4be3ec
cmp al, 0xa0
je 0x4be3ec
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be190
jmp 0x4be3ec
cmp ebx, ebp
jge 0x4be3ec
mov ecx, dword [edx + 0x78]
nop dword [eax]
cmp esi, ecx
jae 0x4be2b9
mov al, byte [esi]
cmp al, 9
je 0x4be1ea
cmp al, 0x20
je 0x4be1ea
cmp al, 0xa0
jne 0x4be3ec
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be1d0
jmp 0x4be3ec
cmp ebx, ebp
jge 0x4be3ec
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4be2b9
mov al, byte [esi]
cmp al, 0xa
je 0x4be3ec
cmp al, 0xb
je 0x4be3ec
cmp al, 0xc
je 0x4be3ec
cmp al, 0xd
je 0x4be3ec
cmp al, 0x85
je 0x4be3ec
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be204
jmp 0x4be3ec
cmp ebx, ebp
jge 0x4be3ec
mov ecx, dword [edx + 0x78]
cmp esi, ecx
jae 0x4be2b9
mov al, byte [esi]
cmp al, 0xa
je 0x4be26e
cmp al, 0xb
je 0x4be26e
cmp al, 0xc
je 0x4be26e
cmp al, 0xd
je 0x4be26e
cmp al, 0x85
jne 0x4be3ec
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be250
jmp 0x4be3ec
cmp ebx, ebp
jge 0x4be3ec
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4be2b2
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 4
jne 0x4be3e5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be288
jmp 0x4be3e5
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x88]
test eax, eax
je 0x4be3ec
cmp esi, dword [edx + 0x84]
jbe 0x4be3ec
mov dword [edx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
jmp 0x4be3ec
cmp ebx, ebp
jge 0x4be3ec
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4be2b2
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 4
je 0x4be3e5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be2f3
jmp 0x4be3e5
cmp ebx, ebp
jge 0x4be3ec
mov edx, dword [edx + 0x78]
cmp esi, edx
jae 0x4be2b2
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 1
jne 0x4be3e5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be328
jmp 0x4be3e5
cmp ebx, ebp
jge 0x4be3ec
mov edx, dword [edx + 0x78]
nop dword [eax]
cmp esi, edx
jae 0x4be2b2
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 1
je 0x4be3e5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be360
jmp 0x4be3e5
cmp ebx, ebp
jge 0x4be3ec
mov edx, dword [edx + 0x78]
nop
cmp esi, edx
jae 0x4be2b2
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 0x10
jne 0x4be3e5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be390
jmp 0x4be3e5
cmp ebx, ebp
jge 0x4be3ec
mov edx, dword [edx + 0x78]
nop
cmp esi, edx
jae 0x4be2b2
mov eax, dword [esp + 0x14c]
movzx ecx, byte [esi]
mov eax, dword [eax + 0x38]
test byte [ecx + eax], 0x10
je 0x4be3e5
inc esi
inc ebx
mov dword [esp + 0x18], esi
cmp ebx, ebp
jl 0x4be3c0
mov edx, dword [esp + 0x14c]
cmp dword [esp + 0x30], 0
jne 0x4bb787
cmp esi, edi
jb case.default.0x4bce59
nop
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
dec esi
cmp dword [esp + 0x28], 0x11
jne 0x4be450
cmp esi, edi
jbe 0x4be452
cmp byte [esi], 0xa
jne 0x4be450
cmp byte [esi - 1], 0xd
lea eax, [esi - 1]
cmove esi, eax
cmp esi, edi
mov edx, dword [esp + 0x14c]
jae 0x4be400
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
cmp al, 0x74
mov eax, dword [esp + 0x154]
jne 0x4be4a6
inc eax
push eax
push dword [esp + 0x154]
push edx
push ecx
push dword [esp + 0x154]
lea edx, [edi + 3]
mov ecx, esi
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov edx, dword [esp + 0x14c]
jmp 0x4be751
inc eax
mov dword [edx + 0x98], 2
push eax
push dword [esp + 0x154]
push edx
push ecx
push dword [esp + 0x154]
mov edx, ebp
mov ecx, esi
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
add ebp, 3
jmp 0x4be751
mov eax, dword [edi + 0x8c]
cmp eax, dword [esp + 0x148]
movzx ecx, byte [ebp + 4]
cmovle eax, dword [esp + 0x148]
mov edx, eax
shl ecx, 8
movzx eax, byte [ebp + 5]
add ebp, 3
or ecx, eax
mov dword [esp + 0x148], edx
add ebp, ecx
cmp byte [ebp], 0x71
jne 0x4bbead
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4be523
jmp 0x4bbead
cmp al, 0x75
je 0x4be9ed
cmp al, 0x74
jne 0x4be596
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push edi
push dword [esp + 0x154]
lea edx, [ebx + 3]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov al, byte [ebp]
cmp al, 0x7b
je 0x4be99e
cmp al, 0x82
jae 0x4be95d
mov edx, dword [esp + 0x14c]
jmp 0x4be751
cmp byte [ebp], 0x82
jb 0x4be5a6
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push edi
push dword [esp + 0x154]
mov edx, ebp
call fcn.004bb6c0
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4be5e7
mov ecx, dword [esp + 0x14c]
cmp dword [ecx + 0xb4], ebp
jne 0x4be768
jmp 0x4be5f6
test eax, eax
jne 0x4be768
mov ecx, dword [esp + 0x14c]
add ebx, 3
cmp byte [ebp], 0x7b
mov dword [esp + 0x14], ebx
je 0x4be9d8
mov edx, dword [esp + 0x14c]
mov ebp, ebx
jmp 0x4be755
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x14c]
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
shl edx, 8
or edx, eax
mov dword [esp + 0x28], edx
lea eax, [edx + edx]
mov dword [esp + 0x38], eax
cmp eax, dword [edi + 0x14]
jge 0x4be71a
mov ecx, dword [edi + 0xc]
mov ebx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x10]
sub eax, edx
mov dword [esp + 0x2c], ebx
lea ecx, [ecx + eax*4]
mov edx, edi
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
mov eax, esi
sub eax, dword [edx + 0x74]
mov ebx, dword [edx + 0x90]
mov ebp, dword [edx + 0xac]
mov dword [ecx], eax
cmp byte [esp + 0x27], 0x82
jb 0x4be687
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ecx]
push edx
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4c81a0]
push dword [esp + 0x154]
add edx, ecx
mov ecx, esi
call fcn.004bb6c0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc1c
je 0x4bf200
cmp edi, 0xfffffc20
jne 0x4bf1c3
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add edx, eax
mov eax, dword [esp + 0x14c]
cmp dword [eax + 0x7c], edx
jae 0x4bf238
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x71
je 0x4be70f
cmp byte [edx], 0x71
jne 0x4bf238
xor edi, edi
jmp 0x4bf1cb
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
cmp cl, 0x82
jae 0x4be773
cmp cl, 0x7b
je 0x4be773
cmp dword [edx + 0x68], 0
jne 0x4be77d
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + ebp], 0x71
je 0x4be77d
movzx eax, byte [ebp]
movzx eax, byte [eax + 0x4c81a0]
add ebp, eax
mov dword [esp + 0x14], ebp
mov eax, dword [edx]
cmp eax, dword [edx + 4]
jb 0x4bb730
inc eax
mov dword [edx], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov dword [edx + 0x98], 2
mov eax, dword [esp + 0x154]
mov ecx, esi
mov ebx, dword [edx + 0xac]
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ebp]
push edx
push dword [esp + 0x154]
movzx edx, byte [eax + 0x4c81a0]
push dword [esp + 0x154]
add edx, ebp
call fcn.004bb6c0
mov edi, eax
add esp, 0x14
cmp edi, 0xfffffc20
jne 0x4be7f3
movzx edx, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
mov eax, dword [esp + 0x14c]
shl edx, 8
or edx, ecx
add edx, ebp
cmp dword [eax + 0x7c], edx
jae 0x4bf296
cmp byte [ebp], 0x71
je 0x4be7fb
cmp byte [edx], 0x71
jne 0x4bf296
jmp 0x4be7fb
test edi, edi
jne 0x4bf245
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0x14c]
shl ecx, 8
or ecx, eax
add ebp, ecx
mov dword [edx + 0xac], ebx
cmp byte [ebp], 0x71
jne case.default.0x4bce59
mov cl, byte [esp + 0x27]
jmp 0x4be721
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
movzx eax, byte [ebp + 0x4c81a0]
push edx
push edi
push ebx
mov ebx, dword [esp + 0x28]
add eax, ebx
movzx edx, byte [ebx + 1]
add edx, eax
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4be870
cmp eax, 0xfffffc1d
je 0x4be870
cmp eax, 0xfffffc20
jne 0x4be768
mov ecx, dword [esp + 0x14c]
lea eax, [ebx + 2]
mov dword [ecx + 0x7c], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
mov dword [edi + 0x98], 2
push eax
push dword [esp + 0x154]
push edi
push edx
push dword [esp + 0x154]
mov edx, ebp
call fcn.004bb6c0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xc8]
cmp eax, ecx
je 0x4be8f0
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xc8]
mov dword [ebp + 0xa4], edx
cmp eax, ecx
je case.default.0x4bce59
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x144]
mov dword [edi + 0x7c], eax
mov eax, 1
mov dword [edi + 0x80], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov edx, ebp
mov ecx, dword [esp + 0x14c]
inc eax
push eax
push dword [esp + 0x154]
push ecx
push edi
push dword [esp + 0x154]
mov dword [ecx + 0x98], 2
mov ecx, esi
call fcn.004bb6c0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov edx, ebp
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push edi
push dword [esp + 0x154]
mov ecx, esi
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bea36
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov edx, ebx
inc eax
push eax
push dword [esp + 0x154]
push ecx
jmp 0x4be9b7
mov dword [edx + 0x80], esi
mov eax, 0xfffffc1b
mov dword [edx + 0x8c], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
push edi
push dword [esp + 0x154]
mov edx, ebx
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov eax, dword [esp + 0x14c]
mov dword [eax + 0xb4], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x144]
mov dword [edx + 0x80], esi
mov dword [edx + 0x8c], edi
mov dword [edx + 0x7c], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [edx + 0x88]
test eax, eax
je case.default.0x4bce59
cmp esi, dword [edx + 0x84]
jmp 0x4bf19d
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x4bce59
cmp esi, dword [ecx + 0x78]
jb case.default.0x4bce59
cmp esi, dword [ecx + 0x84]
jbe case.default.0x4bce59
mov dword [ecx + 0x60], 1
jmp 0x4bf1aa
mov edi, esi
cmp ebx, eax
jge 0x4beb30
nop
push edx
push dword [esp + 0x150]
mov edx, esi
push ebp
call fcn.004bb630
add esp, 0xc
test eax, eax
js 0x4beafa
mov ecx, dword [esp + 0x2c]
inc ebx
mov edx, dword [esp + 0x34]
add esi, eax
cmp ebx, dword [esp + 0x28]
jl 0x4bead0
jmp 0x4beb28
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4beb28
cmp esi, dword [ecx + 0x78]
jb 0x4beb28
cmp esi, dword [ecx + 0x84]
jbe 0x4beb28
mov dword [ecx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
cmp esi, edi
jb case.default.0x4bce59
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
sub esi, ebp
cmp esi, edi
jae 0x4beb30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [ebx + 0x88]
test eax, eax
je case.default.0x4bce59
cmp esi, dword [ebx + 0x78]
jb case.default.0x4bce59
cmp esi, dword [ebx + 0x84]
jbe case.default.0x4bce59
mov dword [ebx + 0x60], 1
jmp 0x4bf1aa
mov edi, esi
cmp ebx, dword [esp + 0x28]
jge 0x4bec20
mov ecx, dword [esp + 0x14c]
mov ebp, dword [ecx + 0x78]
nop dword [eax]
cmp esi, ebp
jae 0x4bebe9
movzx edx, byte [esi]
mov eax, 1
mov ecx, edx
shr edx, 3
and ecx, 7
shl eax, cl
mov ecx, dword [esp + 0x2c]
test byte [edx + ecx], al
je 0x4bec12
inc ebx
inc esi
cmp ebx, dword [esp + 0x28]
jl 0x4bebc0
jmp 0x4bec12
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4bec12
cmp esi, dword [ecx + 0x84]
jbe 0x4bec12
mov dword [ecx + 0x60], 1
cmp eax, 1
jg 0x4bf1b3
cmp esi, edi
jb case.default.0x4bce59
nop word [eax + eax]
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
dec esi
cmp esi, edi
jae 0x4bec20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + 0x88]
test eax, eax
je case.default.0x4bce59
jmp 0x4beab0
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push ecx
push dword [esp + 0x154]
mov ecx, esi
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov ebp, dword [esp + 0x1c]
nop
cmp edi, ebp
jge case.default.0x4bce59
mov edx, dword [esp + 0x14c]
cmp esi, dword [edx + 0x78]
jae 0x4bea79
mov cl, byte [esi]
movzx eax, cl
cmp ebx, eax
je 0x4beceb
cmp byte [esp + 0x27], cl
jne case.default.0x4bce59
mov eax, dword [esp + 0x154]
inc esi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x154]
inc edi
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4becc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
cmp edi, ebp
jge case.default.0x4bce59
mov ecx, dword [esp + 0x14c]
cmp esi, dword [ecx + 0x78]
jae 0x4bec72
movzx eax, byte [esi]
inc esi
cmp ebx, eax
jne case.default.0x4bce59
mov eax, dword [esp + 0x154]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push ecx
push dword [esp + 0x154]
mov ecx, esi
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bed60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov ebp, dword [esp + 0x1c]
cmp edi, ebp
jge case.default.0x4bce59
mov edx, dword [esp + 0x14c]
cmp esi, dword [edx + 0x78]
jae 0x4bea79
mov cl, byte [esi]
movzx eax, cl
cmp ebx, eax
je case.default.0x4bce59
cmp byte [esp + 0x27], cl
je case.default.0x4bce59
mov eax, dword [esp + 0x154]
inc esi
inc eax
mov ecx, esi
push eax
push dword [esp + 0x154]
inc edi
push edx
push dword [esp + 0x154]
mov edx, dword [esp + 0x24]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bee00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
cmp edi, ebp
jge case.default.0x4bce59
mov ecx, dword [esp + 0x14c]
cmp esi, dword [ecx + 0x78]
jae 0x4bec72
movzx eax, byte [esi]
inc esi
cmp ebx, eax
je case.default.0x4bce59
mov eax, dword [esp + 0x154]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x154]
push ecx
push dword [esp + 0x154]
mov ecx, esi
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4beea4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [ebp + 0x88]
test eax, eax
je case.default.0x4bce59
cmp esi, dword [ebp + 0x84]
jbe case.default.0x4bce59
mov dword [ebp + 0x60], 1
jmp 0x4bf1aa
mov eax, dword [edi + 0x88]
test eax, eax
je case.default.0x4bce59
cmp esi, dword [edi + 0x84]
jbe case.default.0x4bce59
mov dword [edi + 0x60], 1
jmp 0x4bf1aa
mov eax, dword [esp + 0x154]
mov ecx, edi
inc eax
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, ebp
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
jne 0x4be768
mov esi, dword [esp + 0x34]
nop dword [eax + eax]
cmp ebx, dword [esp + 0x1c]
jge case.default.0x4bce59
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0x78]
cmp edi, eax
jae 0x4bf189
cmp dword [esp + 0x28], 0xc
jne 0x4bf026
mov ecx, dword [esp + 0x14c]
mov edx, dword [edx + 0x18]
add ecx, 0x1c
test edx, edx
je 0x4befee
push 0
push ecx
push eax
mov ecx, edi
call fcn.004c0b20
add esp, 0xc
test eax, eax
jne case.default.0x4bce59
movzx ecx, byte [edi]
inc edi
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14c]
add eax, 0xfffffffa
jmp switch.0x004bf036
mov ecx, dword [ecx]
sub eax, ecx
mov edx, dword [esp + 0x14c]
cmp edi, eax
ja 0x4bf019
mov al, byte [edi]
cmp al, byte [edx + 0x2c]
jne 0x4bf019
cmp ecx, 1
je case.default.0x4bce59
mov al, byte [edi + 1]
cmp al, byte [edx + 0x2d]
je case.default.0x4bce59
movzx ecx, byte [edi]
inc edi
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffa
jmp switch.0x004bf036
movzx ecx, byte [edi]
lea eax, [esi - 6]
inc edi
cmp eax, 0xf
ja case.0x4bf036.15
jmp dword [eax*4 + 0x4bfa84]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x4bce59
movzx eax, byte [ecx + 0x4bfad4]
jmp dword [eax*4 + 0x4bfac4]
cmp edi, dword [edx + 0x78]
jae case.0x4bf036.12
cmp byte [edi], 0xa
jne case.0x4bf036.12
inc edi
jmp case.0x4bf036.12
cmp dword [edx + 0x64], 0
jne case.default.0x4bce59
jmp case.0x4bf036.12
cmp ecx, 9
je case.default.0x4bce59
cmp ecx, 0x20
je case.default.0x4bce59
cmp ecx, 0xa0
jmp 0x4bf134
cmp ecx, 9
je case.0x4bf036.12
cmp ecx, 0x20
je case.0x4bf036.12
cmp ecx, 0xa0
jne case.default.0x4bce59
jmp case.0x4bf036.12
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.0x4bf036.12
movzx eax, byte [ecx + 0x4bfb58]
jmp dword [eax*4 + 0x4bfb50]
add ecx, 0xfffffff6
cmp ecx, 0x7b
ja case.default.0x4bce59
movzx eax, byte [ecx + 0x4bfbdc]
jmp dword [eax*4 + 0x4bfbd4]
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 4
jne case.default.0x4bce59
jmp case.0x4bf036.12
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 4
jmp 0x4bf134
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 1
jne case.default.0x4bce59
jmp case.0x4bf036.12
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 1
jmp 0x4bf134
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 0x10
jne case.default.0x4bce59
jmp case.0x4bf036.12
mov eax, dword [edx + 0x38]
test byte [ecx + eax], 0x10
je case.default.0x4bce59
mov eax, dword [esp + 0x154]
mov ecx, edi
inc eax
inc ebx
push eax
push dword [esp + 0x154]
push edx
push dword [esp + 0x154]
mov edx, ebp
push dword [esp + 0x154]
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bef90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [edx + 0x88]
test eax, eax
je case.default.0x4bce59
cmp edi, dword [edx + 0x84]
jbe case.default.0x4bce59
mov dword [edx + 0x60], 1
cmp eax, 1
jle case.default.0x4bce59
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
test edi, edi
jne 0x4bf238
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x14c]
mov dword [edx + 0x90], ebx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax + 2]
shl ecx, 8
or ecx, eax
mov dword [edx + 0xac], ebp
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x14], eax
cmp byte [eax], 0x71
je 0x4be676
jmp 0x4bf207
mov edx, dword [esp + 0x14c]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14c]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], edx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
cmp edi, 0xfffffc1c
jne 0x4bf296
mov al, byte [ebp]
cmp al, 0x7b
je 0x4bf284
cmp al, 0x71
jne 0x4bf275
nop dword [eax + eax]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x4bf260
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
sub ebp, ecx
mov eax, dword [esp + 0x14c]
xor ecx, ecx
cmp dword [eax + 0xb4], ebp
cmove edi, ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
inc eax
mov dword [edx + 0xac], 0
push eax
push dword [esp + 0x154]
lea edi, [ecx + 2]
mov dword [edx + 0xb0], edi
movzx eax, byte [ecx]
push edx
movzx edx, byte [ecx + 1]
push dword [esp + 0x154]
movzx eax, byte [eax + 0x4c81a0]
add eax, ecx
mov ecx, esi
push ebx
add edx, eax
call fcn.004bb6c0
mov edx, eax
add esp, 0x14
cmp edx, 1
je 0x4bf2fe
cmp edx, 0xfffffc19
jne 0x4bf321
mov ebx, dword [esp + 0x14c]
cmp dword [ebx + 0xac], 0
jne 0x4bf328
mov dword [ebx + 0xac], edi
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ebx, dword [esp + 0x14c]
cmp edx, 0xfffffc1f
jne 0x4bc669
mov eax, dword [ebx + 0x7c]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x4bf357
test cl, cl
je 0x4bf353
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x4bf357
add edi, 2
add eax, 2
test cl, cl
jne 0x4bf337
xor eax, eax
jmp 0x4bf35c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4bc669
mov dword [ebx + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
movzx edx, byte [ebp + 0x4c81a0]
add edx, dword [esp + 0x20]
push edi
push ebx
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bf3c3
cmp eax, 0xfffffc1d
je 0x4bf3c3
cmp eax, 0xfffffc1e
je 0x4bf3c3
cmp eax, 0xfffffc1f
je 0x4bf3c3
cmp eax, 0xfffffc20
jne 0x4be768
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
movzx edx, byte [ebp + 0x4c81a0]
add edx, dword [esp + 0x20]
push edi
push ebx
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bf496
cmp eax, 0xfffffc20
je 0x4bf496
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
inc eax
mov dword [edx + 0xac], 0
push eax
push dword [esp + 0x154]
lea edi, [ecx + 2]
mov dword [edx + 0xb0], edi
movzx eax, byte [ecx]
push edx
movzx edx, byte [ecx + 1]
push dword [esp + 0x154]
movzx eax, byte [eax + 0x4c81a0]
add eax, ecx
mov ecx, esi
push ebx
add edx, eax
call fcn.004bb6c0
add esp, 0x14
cmp eax, 1
je 0x4bf471
cmp eax, 0xfffffc19
jne 0x4bf487
mov ecx, dword [esp + 0x14c]
cmp dword [ecx + 0xac], 0
jne 0x4bf487
mov dword [ecx + 0xac], edi
test eax, eax
je 0x4bf496
cmp eax, 0xfffffc20
jne 0x4be768
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
movzx edx, byte [ebp + 0x4c81a0]
add edx, dword [esp + 0x20]
push edi
push ebx
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bf4e4
cmp eax, 0xfffffc1d
je 0x4bf4e4
cmp eax, 0xfffffc20
jne 0x4be768
mov eax, dword [esp + 0x14c]
mov dword [eax + 0x7c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, dword [esp + 0x154]
mov ecx, esi
inc eax
push eax
push dword [esp + 0x154]
push edx
movzx edx, byte [ebp + 0x4c81a0]
add edx, dword [esp + 0x20]
push edi
push ebx
call fcn.004bb6c0
add esp, 0x14
test eax, eax
je 0x4bf5af
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x154]
inc eax
mov dword [edx + 0xac], 0
push eax
push dword [esp + 0x154]
lea edi, [ecx + 2]
mov dword [edx + 0xb0], edi
movzx eax, byte [ecx]
push edx
movzx edx, byte [ecx + 1]
push dword [esp + 0x154]
movzx eax, byte [eax + 0x4c81a0]
add eax, ecx
mov ecx, esi
push ebx
add edx, eax
call fcn.004bb6c0
add esp, 0x14
cmp eax, 1
je 0x4bf591
cmp eax, 0xfffffc19
jne 0x4bf5a7
mov ecx, dword [esp + 0x14c]
cmp dword [ecx + 0xac], 0
jne 0x4bf5a7
mov dword [ecx + 0xac], edi
test eax, eax
jne 0x4be768
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x7c], ecx
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
cmp esi, ebx
jne 0x4bf603
cmp ebp, 0x99
je 0x4bf603
cmp dword [edx + 0xa4], 0
jne 0x4bf603
cmp dword [edx + 0x58], 0
jne case.default.0x4bce59
cmp dword [edx + 0x5c], 0
je 0x4bf603
mov eax, dword [edx + 0x94]
add eax, dword [edx + 0x74]
cmp ebx, eax
je case.default.0x4bce59
test cl, cl
mov dword [edx + 0x80], esi
mov eax, 0xfffffc19
mov dword [edx + 0x8c], edi
mov ecx, 1
mov dword [edx + 0x7c], ebx
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x130
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x130
ret