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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0
mov ebx, dword [esi + 8]
mov edi, dword [eax]
mov dword [esp + 0x40], 0
mov dword [esp + 0x94], 0
lea esi, [ebx + 4]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x28], esi
mov dword [esp + 0x98], 0
mov edx, eax
mov ebx, dword [ebx + 4]
mov dword [esp + 0x38], esi
mov dword [esp + 0x9c], 0
mov dword [esp + 0x20], ebx
cmp eax, esi
je 0x43e4a0
mov esi, ebx
mov ebx, dword [edi]
cmp ecx, esi
jge 0x43e458
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov byte [esp + 0x24], 1
mov ecx, dword [esi + 4]
mov dword [edi + 4], eax
cmp byte [ebx + ecx], 0x7d
je 0x43e780
lea ecx, [eax + 4]
mov dword [edi + 4], ecx
mov ecx, dword [eax]
add ecx, ebx
cmp byte [ecx], 0x22
je 0x43e4ba
mov dword [edi + 0x10], 3
mov dword [edi + 8], 0
mov dword [edi + 0x14], 0
mov ecx, dword [esp + 0x30]
call fcn.0043e250
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov esi, dword [eax]
je 0x43e688
add eax, 4
mov dword [edi + 4], eax
movzx edx, byte [ebx + esi]
cmp dl, 0x5d
je 0x43e555
ja 0x43e550
cmp dl, 0x3a
je 0x43e567
cmp dl, 0x5b
je 0x43e567
cmp dl, 0x2c
je 0x43e567
jmp 0x43e555
lea ecx, [eax + 4]
mov ebx, dword [edi]
mov byte [esp + 0x24], 1
mov dword [edi + 4], ecx
mov ecx, dword [eax]
add ecx, ebx
cmp byte [ecx], 0x22
jne 0x43e42a
mov ebp, dword [eax + 4]
lea esi, [eax + 8]
mov dword [edi + 4], esi
cmp byte [ebx + ebp], 0x3a
jne 0x43e42a
mov ebp, dword [esp + 0x20]
add ebp, 1
mov dword [edi + 0x14], ebp
cmp byte [ecx + 3], 0x22
je 0x43f1a0
lea ecx, [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [edi + 4], ecx
movzx eax, byte [ebx + eax]
cmp al, 0x5b
je 0x43e5e0
ja 0x43e5d8
cmp al, 0x2c
je 0x43e5e0
cmp al, 0x3a
je 0x43e5e0
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
lea eax, [ecx + 4]
mov ecx, dword [ecx]
mov dword [edi + 4], eax
movzx ecx, byte [ebx + ecx]
cmp cl, 0x2c
je 0x43e417
cmp cl, 0x7d
jne 0x43e42a
mov esi, dword [esp + 0x20]
cmp byte [esp + 0x24], 0
lea ecx, [esi - 1]
mov dword [edi + 0x14], ecx
je 0x43e6ad
jmp 0x43e792
cmp dl, 0x7b
je 0x43e567
mov esi, dword [esp + 0x20]
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, esi
jle 0x43e680
mov edx, dword [edi + 8]
mov dword [esp + 0x24], ebx
mov ebp, dword [edx + 4]
mov esi, dword [ebp + 4]
shl esi, 2
lea esi, cs:[esi]
nop
mov edx, dword [ebp + 8]
add edx, esi
cmp eax, edx
jae 0x43e42a
mov ebx, dword [esp + 0x24]
mov ecx, dword [eax]
lea edx, [eax + 4]
mov dword [edi + 4], edx
movzx ecx, byte [ebx + ecx]
cmp cl, 0x7b
je 0x43e650
ja 0x43e640
cmp cl, 0x5b
je 0x43e650
cmp cl, 0x5d
jne 0x43e5cf
mov ecx, dword [edi + 0x14]
mov ebx, dword [esp + 0x20]
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, ebx
jle 0x43eac0
mov eax, edx
jmp 0x43e580
cmp al, 0x7b
jne 0x43e50c
mov eax, dword [edi + 8]
mov dword [esp + 0x44], edx
mov ebp, dword [eax + 4]
mov eax, dword [ebp + 4]
lea esi, [eax*4]
lea esi, [esi]
mov eax, dword [ebp + 8]
add eax, esi
cmp ecx, eax
jae 0x43eb30
mov eax, dword [ecx]
add ecx, 4
mov dword [edi + 4], ecx
movzx eax, byte [ebx + eax]
cmp al, 0x7b
je 0x43e670
ja 0x43e660
cmp al, 0x5b
je 0x43e670
cmp al, 0x5d
jne 0x43e5f8
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
cmp eax, edx
jg 0x43e5f8
mov edx, dword [esp + 0x44]
jmp 0x43e513
cmp cl, 0x7d
je 0x43e5ba
mov eax, edx
jmp 0x43e580
add dword [edi + 0x14], 1
mov eax, edx
jmp 0x43e580
cmp al, 0x7d
je 0x43e61f
jmp 0x43e5f8
add dword [edi + 0x14], 1
jmp 0x43e5f8
mov edx, eax
lea esi, [esi]
lea eax, [edx + 4]
mov ecx, dword [edx]
mov dword [edi + 4], eax
movzx ecx, byte [ebx + ecx]
cmp cl, 0x2c
je 0x43ea60
cmp cl, 0x7d
jne 0x43e42a
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x14], esi
add esi, 1
mov eax, dword [eax + 4]
mov dword [esp + 0x24], esi
cmp byte [ebx + eax], 0x7d
je 0x550d2c
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x38]
lea eax, [ecx + 4]
mov dword [edi + 4], eax
mov eax, dword [ecx]
add eax, ebx
cmp byte [eax], 0x22
jne 0x550ceb
mov ebp, dword [ecx + 4]
lea esi, [ecx + 8]
mov dword [edi + 4], esi
cmp byte [ebx + ebp], 0x3a
jne 0x550ce4
mov ebp, dword [esp + 0x24]
mov dword [edi + 0x14], ebp
cmp byte [eax + 3], 0x22
mov dword [esp + 0x28], ebp
je 0x44011c
lea eax, [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov dword [edi + 4], eax
movzx ecx, byte [ebx + ecx]
cmp cl, 0x5b
je 0x43fc29
ja 0x43fc20
cmp cl, 0x2c
je 0x43fc29
cmp cl, 0x3a
je 0x43fc29
mov esi, dword [esp + 0x20]
mov dword [edi + 0x14], esi
cmp edx, eax
je 0x43eb00
lea ecx, [eax + 4]
mov eax, dword [eax]
mov dword [edi + 4], ecx
movzx eax, byte [ebx + eax]
cmp al, 0x2c
je 0x43e6db
mov ecx, dword [esp + 0x44]
cmp al, 0x7d
je 0x550d39
mov dword [edi + 0x10], 3
lea esi, [esi]
mov ebx, dword [esp + 0x20]
mov eax, esi
add eax, 8
lea edx, [ebx - 1]
mov dword [edi + 4], eax
mov dword [edi + 0x14], edx
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x50], 0x13
mov byte [esp + 0x44], 0
nop
mov ebx, dword [esp + 0x28]
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov ebp, dword [edi]
mov dword [esp + 0x54], ebx
cmp ebx, eax
je 0x43e7f1
mov esi, dword [esp + 0x20]
cmp esi, ecx
jle 0x43e840
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [edi + 0x14], esi
mov edx, dword [ebx + 4]
cmp byte [ebp + edx], 0x7d
je 0x43eb40
mov dword [esp + 0x24], eax
mov ecx, 1
mov edx, dword [edi + 4]
lea eax, [edx + 4]
mov dword [edi + 4], eax
mov eax, dword [edx]
add eax, ebp
cmp byte [eax], 0x22
je 0x43e8f0
mov dword [edi + 0x10], 3
mov dword [edi + 8], 0
mov dword [edi + 0x14], 0
mov ecx, dword [esp + 0x30]
call fcn.0043aa50
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov ebx, dword [eax]
je 0x43ea98
lea edx, [eax + 4]
mov dword [edi + 4], edx
movzx eax, byte [ebp + ebx]
cmp al, 0x5d
je 0x43ea80
ja 0x43ea70
cmp al, 0x3a
je 0x43e880
cmp al, 0x5b
je 0x43e880
cmp al, 0x2c
je 0x43e880
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, esi
jle 0x43ea92
lea esi, cs:[esi]
mov eax, dword [edi + 8]
mov dword [esp + 0x24], ebp
mov esi, dword [eax + 4]
mov eax, dword [esi + 4]
lea ebx, [eax*4]
lea esi, [esi]
mov eax, dword [esi + 8]
add eax, ebx
cmp edx, eax
jae 0x43e810
mov ebp, dword [esp + 0x24]
mov ecx, dword [edx]
lea eax, [edx + 4]
mov dword [edi + 4], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x7b
je 0x43eae0
ja 0x43eaf0
cmp cl, 0x5b
je 0x43eae0
cmp cl, 0x5d
jne 0x43e8e8
mov ecx, dword [edi + 0x14]
mov ebp, dword [esp + 0x20]
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, ebp
jle 0x43ead7
mov edx, eax
jmp 0x43e898
mov esi, dword [edx + 4]
lea ebx, [edx + 8]
mov dword [edi + 4], ebx
cmp byte [ebp + esi], 0x3a
jne 0x43e810
mov esi, dword [esp + 0x20]
add esi, 1
mov dword [edi + 0x14], esi
cmp byte [eax + 7], 0x22
je 0x43f5d3
lea eax, [edx + 0xc]
mov edx, dword [edx + 8]
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x5b
je 0x43f3e6
ja 0x43f3dd
cmp dl, 0x2c
je 0x43f3e6
cmp dl, 0x3a
je 0x43f3e6
mov esi, dword [esp + 0x20]
mov dword [edi + 0x14], esi
lea ebx, [eax + 4]
mov eax, dword [eax]
mov dword [edi + 4], ebx
movzx edx, byte [ebp + eax]
cmp dl, 0x2c
je 0x43e7fa
mov eax, dword [esp + 0x24]
cmp dl, 0x7d
jne 0x43e810
mov esi, dword [esp + 0x20]
sub esi, 1
mov dword [edi + 0x14], esi
test cl, cl
jne 0x43eb4e
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edi + 0x14], ebx
add ebx, 1
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], ebx
cmp byte [ebp + edx], 0x7d
je 0x550cb8
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x28], esi
mov esi, eax
lea eax, [ebx + 4]
mov dword [edi + 4], eax
mov eax, dword [ebx]
add eax, ebp
cmp byte [eax], 0x22
jne 0x550cb1
mov ecx, dword [ebx + 4]
lea edx, [ebx + 8]
mov dword [edi + 4], edx
cmp byte [ebp + ecx], 0x3a
jne 0x550caa
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x14], ecx
cmp byte [eax + 7], 0x22
je 0x440425
mov edx, dword [ebx + 8]
lea eax, [ebx + 0xc]
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x5d
je 0x43ea20
ja 0x440346
cmp dl, 0x3a
je 0x44034f
cmp dl, 0x5b
je 0x44034f
cmp dl, 0x2c
je 0x44034f
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
mov eax, dword [edi + 4]
cmp eax, esi
je 0x440685
lea ebx, [eax + 4]
mov eax, dword [eax]
mov dword [edi + 4], ebx
movzx edx, byte [ebp + eax]
cmp dl, 0x2c
je 0x43e9b4
mov esi, dword [esp + 0x28]
cmp dl, 0x7d
je 0x550cc5
mov dword [edi + 0x10], 3
lea esi, [esi]
mov byte [esp + 0x24], 0
jmp 0x43e417
cmp al, 0x7b
je 0x43e880
cmp al, 0x7d
jne 0x43e86d
mov eax, dword [esp + 0x20]
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, eax
jg 0x43e880
mov eax, edx
lea esi, [esi]
lea edx, [eax + 4]
mov dword [edi + 4], edx
mov edx, dword [eax]
movzx edx, byte [ebp + edx]
cmp dl, 0x2c
je 0x43eacc
cmp dl, 0x7d
jne 0x43e810
mov esi, dword [esp + 0x20]
sub esi, 1
jmp 0x43e983
mov ebx, dword [esp + 0x24]
add eax, 8
jmp 0x43e68b
mov dword [esp + 0x24], eax
xor ecx, ecx
jmp 0x43e7fa
mov ebp, dword [esp + 0x24]
add edx, 8
jmp 0x43ea9b
add dword [edi + 0x14], 1
mov edx, eax
jmp 0x43e898
cmp cl, 0x7d
je 0x43e8d3
mov edx, eax
jmp 0x43e898
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, dword [edi + 4]
lea ebx, [esi + 4]
mov dword [esp + 0x50], 0x13
mov byte [esp + 0x44], 0
mov dword [esp + 0x28], ebx
jmp 0x43e7b0
mov dword [edi + 0x10], 3
jmp case.0x43f1d9.1
mov eax, esi
lea ebx, [ebx + 8]
sub eax, 1
mov dword [edi + 4], ebx
mov dword [edi + 0x14], eax
mov byte [esp + 0x54], 0
mov byte [esp + 0x5f], 0
lea esi, cs:[esi]
mov eax, dword [esp + 0x28]
mov edx, dword [edi + 0x14]
mov ebp, dword [edi]
mov dword [esp + 0x58], eax
cmp eax, ebx
je 0x43eb99
mov eax, dword [esp + 0x20]
cmp edx, eax
jge 0x43ed28
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
cmp byte [ebp + eax], 0x7d
je 0x43ee10
mov dword [esp + 0x60], ebx
mov edx, 1
mov esi, edx
mov eax, dword [edi + 4]
lea edx, [eax + 4]
mov dword [edi + 4], edx
mov edx, dword [eax]
add edx, ebp
cmp byte [edx], 0x22
jne 0x43e810
mov ecx, dword [eax + 4]
lea ebx, [eax + 8]
mov dword [edi + 4], ebx
cmp byte [ebp + ecx], 0x3a
jne 0x43e810
mov ecx, dword [esp + 0x20]
add ecx, 1
mov dword [edi + 0x14], ecx
cmp byte [edx + 6], 0x22
mov dword [esp + 0x24], ecx
je 0x43f811
lea edx, [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x5b
je 0x43f543
ja 0x43f53b
cmp al, 0x2c
je 0x43f543
cmp al, 0x3a
je 0x43f543
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
lea eax, [edx + 4]
mov dword [edi + 4], eax
mov eax, dword [edx]
movzx eax, byte [ebp + eax]
cmp al, 0x2c
je 0x43eba4
mov ebx, dword [esp + 0x60]
mov edx, esi
cmp al, 0x7d
jne 0x43e810
mov eax, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
test dl, dl
jne 0x43ee24
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x14], esi
add esi, 1
mov eax, dword [eax + 4]
mov dword [esp + 0x28], esi
cmp byte [ebp + eax], 0x7d
je 0x550d0a
mov esi, ebx
mov ebx, dword [esp + 0x58]
lea eax, [ebx + 4]
mov dword [edi + 4], eax
mov eax, dword [ebx]
add eax, ebp
cmp byte [eax], 0x22
jne 0x550d03
mov ecx, dword [ebx + 4]
lea edx, [ebx + 8]
mov dword [edi + 4], edx
cmp byte [ebp + ecx], 0x3a
jne 0x550cfc
mov ecx, dword [esp + 0x28]
mov dword [edi + 0x14], ecx
cmp byte [eax + 6], 0x22
mov dword [esp + 0x24], ecx
je 0x4405dd
mov edx, dword [ebx + 8]
lea eax, [ebx + 0xc]
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x5d
je 0x43eceb
ja 0x4403b5
cmp dl, 0x3a
je 0x4403be
cmp dl, 0x5b
je 0x4403be
cmp dl, 0x2c
je 0x4403be
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
mov eax, dword [edi + 4]
cmp eax, esi
je 0x43ee24
lea ebx, [eax + 4]
mov eax, dword [eax]
mov dword [edi + 4], ebx
movzx eax, byte [ebp + eax]
cmp al, 0x2c
je 0x43ec7b
cmp al, 0x7d
je 0x550cf2
mov dword [edi + 0x10], 3
lea esi, [esi]
mov ecx, dword [ebx]
je 0x43ef58
lea eax, [ebx + 4]
mov dword [edi + 4], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5d
je 0x43ed55
ja 0x43f3cf
cmp cl, 0x3a
je 0x43ed67
cmp cl, 0x5b
je 0x43ed67
cmp cl, 0x2c
je 0x43ed67
mov esi, dword [esp + 0x20]
sub edx, 1
mov dword [edi + 0x14], edx
cmp edx, esi
jle 0x43ef51
mov edx, dword [edi + 8]
mov dword [esp + 0x24], ebp
mov esi, dword [edx + 4]
mov ebx, dword [esi + 4]
lea ecx, [ebx*4]
lea esi, cs:[esi]
mov edx, dword [esi + 8]
add edx, ecx
cmp eax, edx
jae 0x43e810
mov ebp, dword [esp + 0x24]
mov edx, dword [eax]
lea ebx, [eax + 4]
mov dword [edi + 4], ebx
movzx edx, byte [ebp + edx]
cmp dl, 0x7b
je 0x43ee00
ja 0x43edf0
cmp dl, 0x5b
je 0x43ee00
cmp dl, 0x5d
jne 0x43edc0
mov edx, dword [edi + 0x14]
mov ebp, dword [esp + 0x20]
sub edx, 1
mov dword [edi + 0x14], edx
cmp edx, ebp
jle 0x43edc4
mov eax, ebx
jmp 0x43ed80
mov ebp, dword [esp + 0x24]
add eax, 8
mov dword [edi + 4], eax
mov eax, dword [ebx]
movzx eax, byte [ebp + eax]
cmp al, 0x2c
je 0x43f508
cmp al, 0x7d
je 0x43ec4e
jmp 0x43e810
cmp dl, 0x7d
je 0x43edaf
mov eax, ebx
jmp 0x43ed80
add dword [edi + 0x14], 1
mov eax, ebx
jmp 0x43ed80
mov eax, dword [esp + 0x2c]
add eax, 8
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov byte [esp + 0x28], 1
mov byte [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi + 4]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov edx, dword [edi + 0x14]
mov dword [esp + 0x90], 0
lea esi, [ecx + 4]
mov ebx, eax
mov dword [esp + 0x58], esi
cmp eax, esi
je 0x43f188
mov ebp, dword [edi]
cmp dword [esp + 0x20], edx
jle 0x43ef60
mov eax, dword [esp + 0x20]
mov dword [edi + 4], esi
mov dword [edi + 0x14], eax
mov edx, dword [ecx + 4]
mov eax, esi
mov ecx, 1
cmp byte [ebp + edx], 0x7d
je 0x43f11b
mov dword [esp + 0x24], ebx
lea edx, [eax + 4]
mov dword [edi + 4], edx
mov edx, dword [eax]
add edx, ebp
cmp byte [edx], 0x22
je 0x43f46c
mov dword [edi + 0x10], 3
mov dword [edi + 8], 0
mov dword [edi + 0x14], 0
cmp byte [esp + 0x54], 0
jne case.0x43f1d9.0
movzx eax, byte [esp + 0x5f]
xor eax, 1
and al, byte [esp + 0x44]
mov byte [esp + 0x28], al
jne case.0x43f1d9.0
cmp byte [esp + 0x44], 0
jne case.0x43f1d9.0
cmp byte [esp + 0x5f], 0
je case.0x43f1d9.0
cmp byte [esp + 0x28], 0
je case.0x43f1d9.0
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 8], edi
mov edi, dword [esp + 0xc0]
mov dword [esp], edi
call dword [eax + 0x14]
sub esp, 0xc
jmp 0x43e448
mov ebx, eax
lea esi, cs:[esi]
lea eax, [ebx + 4]
jmp 0x43edcb
mov ecx, dword [eax]
je 0x43f517
add eax, 4
mov dword [edi + 4], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5d
je 0x43ef8d
ja 0x43f803
cmp cl, 0x3a
je 0x43ef9f
cmp cl, 0x5b
je 0x43ef9f
cmp cl, 0x2c
je 0x43ef9f
mov ebx, dword [esp + 0x20]
sub edx, 1
mov dword [edi + 0x14], edx
cmp edx, ebx
jle 0x43f515
mov edx, dword [edi + 8]
mov dword [esp + 0x24], ebp
mov esi, dword [edx + 4]
mov ebx, dword [esi + 4]
lea ecx, [ebx*4]
lea esi, cs:[esi]
mov edx, dword [esi + 8]
add edx, ecx
cmp eax, edx
jae 0x43eecc
mov ebp, dword [esp + 0x24]
mov edx, dword [eax]
lea ebx, [eax + 4]
mov dword [edi + 4], ebx
movzx edx, byte [ebp + edx]
cmp dl, 0x7b
je 0x43f110
ja 0x43f0f8
cmp dl, 0x5b
je 0x43f110
cmp dl, 0x5d
jne 0x43f004
mov edx, dword [edi + 0x14]
mov ebp, dword [esp + 0x20]
sub edx, 1
mov dword [edi + 0x14], edx
cmp edx, ebp
jle 0x43f008
mov eax, ebx
jmp 0x43efb8
lea edx, [eax + 8]
mov ebp, dword [esp + 0x24]
mov eax, dword [ebx]
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x2c
je 0x440339
cmp al, 0x7d
jne 0x43eecc
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
cmp byte [ebp + eax], 0x7d
je 0x440558
mov esi, dword [edi + 4]
lea eax, [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi]
add eax, ebp
cmp byte [eax], 0x22
jne 0x550cdd
mov edx, dword [esi + 4]
lea ecx, [esi + 8]
mov dword [edi + 4], ecx
cmp byte [ebp + edx], 0x3a
mov dword [esp + 0x24], ecx
jne 0x550cd6
mov ecx, dword [esp + 0x20]
lea edx, [ecx + 1]
mov dword [edi + 0x14], edx
cmp byte [eax + 7], 0x22
je 0x440639
mov edx, dword [esi + 8]
lea eax, [esi + 0xc]
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x5d
je 0x43f0bf
ja 0x440571
cmp dl, 0x3a
je 0x44057a
cmp dl, 0x5b
je 0x44057a
cmp dl, 0x2c
je 0x44057a
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x43f12f
lea edx, [eax + 4]
mov eax, dword [eax]
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x2c
je 0x43f049
cmp al, 0x7d
je 0x440562
mov dword [edi + 0x10], 3
lea esi, [esi]
cmp dl, 0x7d
je 0x43eff3
mov eax, ebx
jmp 0x43efb8
add dword [edi + 0x14], 1
mov eax, ebx
jmp 0x43efb8
mov eax, dword [esp + 0x2c]
add eax, 8
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
cmp byte [esp + 0x54], 0
je 0x43f365
cmp byte [esp + 0x28], 0
je case.0x43f1d9.0
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 8], edi
mov edi, dword [esp + 0xc0]
mov dword [esp], edi
call dword [eax + 8]
sub esp, 0x14
jmp 0x43e448
mov dword [esp + 0x24], eax
mov ebp, dword [edi]
mov ecx, 1
jmp 0x43eeb9
cmp word [ecx + 1], 0x6469
jne 0x43e4e1
mov eax, dword [esi]
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], ebp
movzx eax, byte [ebx + eax]
mov dword [esp + 0x9c], esi
cmp al, 0x39
jbe 0x43f1e0
sub eax, 0x5b
cmp al, 0x20
ja case.0x43f1d9.1
movzx eax, al
jmp dword [eax*4 + 0x587748]
cmp al, 0x21
jbe case.0x43f1d9.1
sub eax, 0x22
mov edx, 0xffc801
bt edx, eax
jae case.0x43f1d9.1
lea eax, [esp + 0x94]
call fcn.00456710
mov dword [esp + 0x34], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x24], eax
mov eax, dword [esi]
add eax, dword [edi]
movzx ecx, byte [eax]
mov ebp, eax
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x43f2c8
mov dword [esp + 0x38], 0
mov edx, ebp
mov dword [esp + 0x3c], 0
mov dword [esp + 0x28], esi
xor esi, esi
mov dword [esp + 0x2c], ebp
mov ebp, ecx
mov dword [esp + 0x44], edi
xor edi, edi
mov ecx, esi
mov ebx, edi
movzx eax, al
shld ebx, ecx, 2
shl ecx, 2
add ecx, esi
adc ebx, edi
shld ebx, ecx, 1
add ecx, ecx
mov esi, ecx
mov edi, ebx
add esi, eax
adc edi, 0
movzx ebx, byte [edx + 1]
add edx, 1
lea eax, [ebx - 0x30]
cmp al, 9
jbe 0x43f24c
mov ecx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
mov esi, dword [esp + 0x28]
sub edx, ebp
mov edi, dword [esp + 0x44]
lea eax, [edx - 1]
cmp eax, 0x13
ja 0x43f2c8
cmp cl, 0x30
je 0x43f338
movzx eax, byte [ebx + str._t_t_t_t_t_t_t_t_t]
test al, al
jne 0x43f34c
cmp edx, 0x14
jne 0x43f319
cmp cl, 0x31
jne 0x43f2c8
mov ebp, dword [esp + 0x3c]
test ebp, ebp
js 0x43f319
lea esi, [esi]
mov dword [esp + 0x50], 0x10
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x44], 1
mov ebx, dword [ebx + 8]
mov edi, dword [eax]
mov dword [esp + 0x2c], ebx
add ebx, 4
mov eax, dword [edi + 4]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0xc0]
mov esi, dword [ebx + 4]
mov dword [esp + 0x20], esi
jmp 0x43e7b0
mov eax, dword [esp + 0x24]
cmp eax, esi
jne 0x43f32e
add eax, 4
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
mov dword [esp + 0x50], 0
jmp 0x43f2e0
cmp edx, 1
jne 0x43f5b6
movzx eax, byte [ebx + str._t_t_t_t_t_t_t_t_t]
test al, al
je 0x43f319
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jmp 0x43f2e0
cmp byte [esp + 0x5f], 0
jne 0x43ef02
cmp byte [esp + 0x44], 0
je 0x43ef0d
cmp byte [esp + 0x60], 0
je case.0x43f1d9.0
mov edx, dword [esp + 0x50]
test edx, edx
jne case.0x43f1d9.0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
cmp eax, 0x43a9b0
jne 0x43fc95
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov eax, esi
xor eax, 1
or eax, edi
je 0x43e448
mov dword [esp], 0x5871a0
call fcn.00439d90
jmp 0x43e448
cmp cl, 0x7b
jne 0x43ed55
jmp 0x43ed67
cmp dl, 0x7b
jne 0x43e947
mov edx, dword [edi + 8]
mov byte [esp + 0x58], cl
mov esi, dword [edx + 4]
mov ebx, dword [esi + 4]
shl ebx, 2
lea esi, cs:[esi]
nop
mov edx, dword [esi + 8]
add edx, ebx
cmp eax, edx
jae 0x43f460
mov edx, dword [eax]
add eax, 4
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x7b
je 0x43f450
ja 0x43f448
cmp dl, 0x5b
je 0x43f450
cmp dl, 0x5d
jne 0x43f400
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x20]
sub edx, 1
mov dword [edi + 0x14], edx
cmp edx, ecx
jg 0x43f400
movzx ecx, byte [esp + 0x58]
jmp 0x43e94e
cmp dl, 0x7d
je 0x43f427
jmp 0x43f400
add dword [edi + 0x14], 1
jmp 0x43f400
mov dword [edi + 0x10], 3
jmp case.0x43f1d9.0
mov esi, dword [eax + 4]
lea ebx, [eax + 8]
mov dword [edi + 4], ebx
cmp byte [ebp + esi], 0x3a
jne 0x43eecc
mov esi, dword [esp + 0x20]
add esi, 1
mov dword [edi + 0x14], esi
cmp byte [edx + 7], 0x22
mov dword [esp + 0x78], esi
je 0x43fcce
lea edx, [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x5b
je 0x43fb2a
ja 0x43fb22
cmp al, 0x2c
je 0x43fb2a
cmp al, 0x3a
je 0x43fb2a
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
lea eax, [edx + 4]
mov edx, dword [edx]
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x2c
je 0x43eeb9
mov ebx, dword [esp + 0x24]
cmp dl, 0x7d
jne 0x43eecc
mov eax, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
test cl, cl
je 0x43f029
jmp 0x43f12f
xor edx, edx
mov dword [esp + 0x60], ebx
mov esi, edx
jmp 0x43eba4
mov ebx, eax
mov edx, dword [ebx]
lea eax, [ebx + 4]
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x2c
je 0x43fb94
cmp dl, 0x7d
je 0x43f029
jmp 0x43eecc
cmp al, 0x7b
jne 0x43ec12
mov eax, dword [edi + 8]
mov ebx, dword [eax + 4]
mov eax, dword [ebx + 4]
lea ecx, [eax*4]
mov eax, esi
mov byte [esp + 0x24], al
lea esi, [esi]
mov eax, dword [ebx + 8]
add eax, ecx
cmp edx, eax
jae 0x43f460
mov eax, dword [edx]
add edx, 4
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x7b
je 0x43f5b0
ja 0x43f5a8
cmp al, 0x5b
je 0x43f5b0
cmp al, 0x5d
jne 0x43f560
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
cmp eax, esi
jg 0x43f560
movzx esi, byte [esp + 0x24]
jmp 0x43ec19
cmp al, 0x7d
je 0x43f588
jmp 0x43f560
add dword [edi + 0x14], 1
jmp 0x43f560
mov dword [esp + 0x50], 9
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jmp 0x43f2e0
cmp dword [eax + 1], 0x6874656d
jne 0x43e918
cmp word [eax + 5], 0x646f
jne 0x43e918
add ebp, dword [ebx]
cmp byte [ebp], 0x22
jne case.0x43f1d9.0
mov eax, dword [esp + 0x20]
add ebx, 4
mov esi, dword [edi + 0xc]
mov dword [edi + 4], ebx
lea ebx, [ebp + 1]
mov dword [edi + 0x14], eax
movzx eax, byte [ebp + 1]
mov byte [esi], al
cmp al, 0x22
jne 0x43f633
jmp 0x43f718
add ebx, 1
add esi, 1
movzx eax, byte [ebx]
mov byte [esi], al
cmp al, 0x22
je 0x43f718
movzx edx, byte [ebx + 1]
cmp al, 0x5c
jne 0x43f620
cmp dl, 0x75
je 0x43f660
movzx eax, byte [edx + 0x582720]
test al, al
je case.0x43f1d9.0
mov byte [esi], al
add ebx, 2
add esi, 1
jmp 0x43f626
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
mov ebp, dword [edx*4 + 0x5831f8]
or ebp, dword [eax*4 + 0x582eb0]
movzx eax, byte [ebx + 5]
or ebp, dword [eax*4 + 0x582820]
movzx eax, byte [ebx + 4]
or ebp, dword [eax*4 + 0x582b68]
lea edx, [ebp - 0xd800]
cmp edx, 0x3ff
jbe 0x43f768
add ebx, 6
cmp ebp, 0x7f
jbe 0x43f7b0
cmp ebp, 0x7ff
jbe 0x43f7bd
cmp ebp, 0xffff
jbe 0x43f7d9
cmp ebp, 0x10ffff
ja case.0x43f1d9.0
mov eax, ebp
mov edx, ebp
mov ecx, ebp
and ebp, 0x3f
shr eax, 6
shl ebp, 8
add esi, 4
movd xmm0, dword [0x587be0]
shr ecx, 0xc
and eax, 0x3f
shr edx, 0x12
or eax, ebp
and ecx, 0x3f
movzx edx, dl
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
movd xmm1, eax
paddb xmm1, xmm0
movd dword [esi - 4], xmm1
jmp 0x43f626
mov eax, dword [edi + 0xc]
mov dword [edi + 0xc], esi
mov byte [esp + 0x5f], 1
sub esi, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x48], esi
mov edi, dword [eax]
mov esi, dword [eax + 8]
movzx eax, byte [esp + 0x44]
mov dword [esp + 0x2c], esi
mov ebx, dword [edi + 4]
mov byte [esp + 0x54], al
lea eax, [esi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
jmp 0x43eb60
cmp byte [ebx + 6], 0x5c
mov dword [esp + 0x20], edx
jne case.0x43f1d9.0
cmp byte [ebx + 7], 0x75
jne case.0x43f1d9.0
lea eax, [ebx + 8]
call fcn.0040e4a0
or ebp, eax
shr ebp, 0x10
jne case.0x43f1d9.0
mov edx, dword [esp + 0x20]
sub eax, 0xdc00
add ebx, 0xc
shl edx, 0xa
or edx, eax
lea ebp, [edx + 0x10000]
jmp 0x43f6a1
mov eax, ebp
add esi, 1
mov byte [esi - 1], al
jmp 0x43f626
mov eax, ebp
and ebp, 0x3f
add esi, 2
shr eax, 6
sub eax, 0x40
mov byte [esi - 2], al
lea eax, [ebp - 0x80]
mov byte [esi - 1], al
jmp 0x43f626
mov eax, ebp
add esi, 3
shr eax, 0xc
sub eax, 0x20
mov byte [esi - 3], al
mov eax, ebp
and ebp, 0x3f
shr eax, 6
and eax, 0x3f
add eax, 0xffffff80
mov byte [esi - 2], al
lea eax, [ebp - 0x80]
mov byte [esi - 1], al
jmp 0x43f626
cmp cl, 0x7b
jne 0x43ef8d
jmp 0x43ef9f
cmp dword [edx + 1], 0x6f727265
jne 0x43ebe6
cmp byte [edx + 5], 0x72
jne 0x43ebe6
mov esi, ebx
mov eax, dword [esi]
cmp byte [ebp + eax], 0x7b
jne case.0x43f1d9.0
mov edx, dword [esi + 4]
lea eax, [esi + 4]
mov ecx, 1
mov dword [edi + 4], eax
cmp byte [ebp + edx], 0x7d
mov dword [esp + 0x2c], eax
je 0x43f9d8
mov byte [esp + 0x28], cl
mov ebx, eax
mov eax, dword [edi + 4]
lea edx, [eax + 4]
mov dword [edi + 4], edx
mov edx, dword [eax]
add edx, ebp
cmp byte [edx], 0x22
jne 0x43e810
lea ecx, [eax + 8]
mov dword [edi + 4], ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 4]
cmp byte [ebp + ecx], 0x3a
jne 0x43e810
mov ecx, dword [esp + 0x20]
add ecx, 2
mov dword [edi + 0x14], ecx
cmp byte [edx + 5], 0x22
mov dword [esp + 0x7c], ecx
je 0x43fdbb
lea edx, [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x5b
je 0x43fba7
ja 0x43fb9f
cmp al, 0x2c
je 0x43fba7
cmp al, 0x3a
je 0x43fba7
mov eax, dword [esp + 0x24]
mov dword [edi + 0x14], eax
lea eax, [edx + 4]
mov dword [edi + 4], eax
mov eax, dword [edx]
movzx edx, byte [ebp + eax]
cmp dl, 0x2c
je 0x43f85a
movzx ecx, byte [esp + 0x28]
mov eax, ebx
cmp dl, 0x7d
jne 0x43e810
mov ebx, dword [esp + 0x20]
mov dword [edi + 0x14], ebx
test cl, cl
jne case.0x43f1d9.0
mov ebx, dword [esp + 0x24]
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x2c]
mov edx, dword [esi + 4]
mov dword [edi + 4], ebx
cmp byte [ebp + edx], 0x7d
je 0x4404cd
mov ecx, dword [edi + 4]
lea edx, [ecx + 4]
mov dword [edi + 4], edx
mov edx, dword [ecx]
add edx, ebp
cmp byte [edx], 0x22
jne 0x550d25
lea ebx, [ecx + 8]
mov dword [edi + 4], ebx
mov dword [esp + 0x58], ebx
mov ebx, dword [ecx + 4]
cmp byte [ebp + ebx], 0x3a
jne 0x550d1e
mov ebx, dword [esp + 0x20]
add ebx, 2
mov dword [edi + 0x14], ebx
cmp byte [edx + 5], 0x22
je 0x44066f
lea edx, [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov dword [edi + 4], edx
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5d
je 0x43f99a
ja 0x440457
cmp cl, 0x3a
je 0x440460
cmp cl, 0x5b
je 0x440460
cmp cl, 0x2c
je 0x440460
mov ebx, dword [esp + 0x24]
mov dword [edi + 0x14], ebx
mov edx, dword [edi + 4]
cmp edx, eax
je case.0x43f1d9.0
lea ecx, [edx + 4]
mov edx, dword [edx]
mov dword [edi + 4], ecx
movzx edx, byte [ebp + edx]
cmp dl, 0x2c
je 0x43f924
cmp dl, 0x7d
je 0x4404d3
mov dword [edi + 0x10], 3
lea esi, [esi]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea eax, [esi + 8]
mov dword [edi + 4], eax
mov dword [edi + 0x14], ebx
cmp ebx, edx
jge 0x43fa18
mov dword [edi + 0x14], edx
mov ebx, dword [esp + 0x2c]
mov edx, dword [esi + 4]
mov dword [edi + 4], ebx
cmp byte [ebp + edx], 0x7d
jne 0x43f854
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
jmp case.0x43f1d9.0
mov ecx, dword [esi + 8]
je 0x43fadc
lea edx, [esi + 0xc]
mov dword [edi + 4], edx
movzx eax, byte [ebp + ecx]
cmp al, 0x5d
je 0x43fb0f
ja 0x43fb03
cmp al, 0x3a
je 0x43fa4a
cmp al, 0x5b
je 0x43fa4a
cmp al, 0x2c
jne 0x43fac6
mov eax, dword [edi + 8]
mov dword [esp + 0x58], esi
mov ebx, dword [eax + 4]
mov eax, dword [ebx + 4]
shl eax, 2
mov dword [esp + 0x28], eax
nop
mov eax, dword [esp + 0x28]
add eax, dword [ebx + 8]
cmp edx, eax
jae 0x43e810
mov ecx, dword [edx]
lea eax, [edx + 4]
mov dword [edi + 4], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x7b
je 0x43faf8
ja 0x43fae8
cmp cl, 0x5b
je 0x43faf8
cmp cl, 0x5d
jne 0x43fa9e
mov ecx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, esi
jle 0x43faa2
mov edx, eax
jmp 0x43fa60
mov esi, dword [esp + 0x58]
add edx, 8
mov dword [edi + 4], edx
mov edx, dword [eax]
movzx edx, byte [ebp + edx]
cmp dl, 0x2c
je 0x43fb15
cmp dl, 0x7d
je 0x43f908
jmp 0x43e810
mov eax, ebx
mov ebx, dword [esp + 0x24]
sub eax, 1
mov dword [edi + 0x14], eax
cmp eax, ebx
jg 0x43fa4a
mov eax, edx
lea edx, [eax + 4]
jmp 0x43faa9
cmp cl, 0x7d
je 0x43fa8d
mov edx, eax
jmp 0x43fa60
add dword [edi + 0x14], 1
mov edx, eax
jmp 0x43fa60
cmp al, 0x7b
je 0x43fa4a
cmp al, 0x7d
jne 0x43fac6
mov eax, dword [esp + 0x20]
jmp 0x43fac8
xor ecx, ecx
mov ebx, eax
mov byte [esp + 0x28], cl
jmp 0x43f85a
cmp al, 0x7b
jne 0x43f4c4
mov eax, dword [edi + 8]
mov byte [esp + 0x78], cl
mov esi, dword [eax + 4]
mov eax, dword [esi + 4]
lea ebx, [eax*4]
nop
mov eax, dword [esi + 8]
add eax, ebx
cmp edx, eax
jae 0x43fc14
mov eax, dword [edx]
add edx, 4
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x7b
je 0x43fb8e
ja 0x43fb88
cmp al, 0x5b
je 0x43fb8e
cmp al, 0x5d
jne 0x43fb40
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
cmp eax, ecx
jg 0x43fb40
movzx ecx, byte [esp + 0x78]
jmp 0x43f4cb
cmp al, 0x7d
je 0x43fb68
jmp 0x43fb40
add dword [edi + 0x14], 1
jmp 0x43fb40
mov dword [esp + 0x24], ebx
xor ecx, ecx
jmp 0x43eeb9
cmp al, 0x7b
jne 0x43f8cc
mov eax, dword [edi + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], eax
mov eax, dword [eax + 4]
shl eax, 2
mov dword [esp + 0x58], eax
lea esi, cs:[esi]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
add eax, dword [ecx + 8]
cmp edx, eax
jae 0x43f460
mov eax, dword [edx]
add edx, 4
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x7b
je 0x43fc08
ja 0x43fc0e
cmp al, 0x5b
je 0x43fc08
cmp al, 0x5d
jne 0x43fbc0
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x24]
sub eax, 1
mov dword [edi + 0x14], eax
cmp eax, ecx
jg 0x43fbc0
jmp 0x43f8d3
add dword [edi + 0x14], 1
jmp 0x43fbc0
cmp al, 0x7d
je 0x43fbee
jmp 0x43fbc0
mov dword [edi + 0x10], 3
jmp 0x43eee1
cmp cl, 0x7b
jne 0x43e744
mov ecx, dword [edi + 8]
mov dword [esp + 0x28], edx
mov ebp, dword [ecx + 4]
mov esi, dword [ebp + 4]
shl esi, 2
lea esi, [esi]
mov ecx, dword [ebp + 8]
add ecx, esi
cmp eax, ecx
jae 0x43eb30
mov ecx, dword [eax]
add eax, 4
mov dword [edi + 4], eax
movzx ecx, byte [ebx + ecx]
cmp cl, 0x7b
je 0x43fc8f
ja 0x43fc88
cmp cl, 0x5b
je 0x43fc8f
cmp cl, 0x5d
jne 0x43fc40
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x20]
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, edx
jg 0x43fc40
mov edx, dword [esp + 0x28]
jmp 0x43e74b
cmp cl, 0x7d
je 0x43fc6a
jmp 0x43fc40
add dword [edi + 0x14], 1
jmp 0x43fc40
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x6c]
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], edi
call eax
sub esp, 0x18
jmp 0x43e448
cmp dword [edx + 1], 0x75736572
jne 0x43f498
cmp word [edx + 5], 0x746c
jne 0x43f498
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 0x78]
mov eax, ebx
cmp byte [esp + 0x54], 0
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], eax
jne case.0x43f1d9.0
cmp byte [esp + 0x5f], 0
jne case.0x43f1d9.0
cmp byte [esp + 0x44], 0
je case.0x43f1d9.0
cmp byte [esp + 0x28], 0
je case.0x43f1d9.0
mov eax, dword [esp + 0x50]
test eax, eax
jne case.0x43f1d9.0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
cmp eax, 0x43a9e0
jne 0x4400f8
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov eax, esi
xor eax, 1
or eax, edi
je 0x43fd77
mov dword [esp], str.received_response_for_unknown_request_n
call fcn.00439d90
jmp 0x43e448
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
add ecx, 0x128
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0044bdb0
sub esp, 0xc
test al, al
jne 0x43e448
mov dword [esp], str.failed_to_process_configuration_response_n
call fcn.00439d90
jmp 0x43e448
cmp dword [edx + 1], 0x65646f63
jne 0x43f8a0
mov ebx, dword [esp + 0x58]
xor ecx, ecx
mov eax, dword [ebx]
add eax, ebp
movzx ebx, byte [eax]
cmp bl, 0x2d
mov byte [esp + 0x68], bl
sete cl
lea edx, [eax + ecx]
movzx ecx, byte [edx]
mov dword [esp + 0x28], edx
lea eax, [ecx - 0x30]
cmp al, 9
ja case.0x43f1d9.0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x70], esi
xor esi, esi
mov dword [esp + 0x74], ebp
mov ebp, ecx
mov dword [esp + 0x78], edi
xor edi, edi
mov ecx, esi
mov ebx, edi
movzx eax, al
shld ebx, ecx, 2
shl ecx, 2
add ecx, esi
adc ebx, edi
shld ebx, ecx, 1
add ecx, ecx
mov esi, ecx
mov edi, ebx
add esi, eax
adc edi, 0
movzx ebx, byte [edx + 1]
add edx, 1
lea eax, [ebx - 0x30]
cmp al, 9
jbe 0x43fe16
mov eax, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x60], esi
mov ecx, ebp
mov esi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x64], edi
sub eax, edx
mov edi, dword [esp + 0x78]
lea edx, [eax - 1]
cmp edx, 0x12
ja case.0x43f1d9.0
cmp eax, 1
setne al
cmp cl, 0x30
sete dl
and al, dl
mov byte [esp + 0x28], al
jne case.0x43f1d9.0
cmp byte [ebx + str._t_t_t_t_t_t_t_t_t], 0
jne case.0x43f1d9.0
movzx ebx, byte [esp + 0x68]
mov ecx, dword [esp + 0x60]
cmp bl, 0x2d
setne al
mov edx, eax
shl edx, 0x1f
sar edx, 0x1f
cmp al, 1
mov eax, 0x7fffffff
adc eax, 0
cmp edx, ecx
sbb eax, dword [esp + 0x64]
jb case.0x43f1d9.0
cmp bl, 0x2d
jne 0x43fed3
neg dword [esp + 0x60]
adc dword [esp + 0x64], 0
neg dword [esp + 0x64]
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x24]
add eax, 4
mov dword [edi + 0x14], ebx
mov dword [esp + 0x68], eax
mov dword [edi + 4], eax
cmp dword [esp + 0x2c], eax
je 0x43ffe0
mov ebx, dword [esp + 0x58]
lea eax, [ebx + 8]
mov dword [edi + 4], eax
mov eax, dword [ebx + 4]
movzx eax, byte [ebp + eax]
cmp al, 0x2c
je 0x4400ed
cmp al, 0x7d
jne 0x43e810
mov eax, dword [esp + 0x24]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
cmp byte [ebp + eax], 0x7d
je 0x4404df
mov esi, dword [edi + 4]
lea eax, [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi]
add eax, ebp
cmp byte [eax], 0x22
jne 0x550ccf
mov edx, dword [esi + 4]
lea ebx, [esi + 8]
mov dword [edi + 4], ebx
cmp byte [ebp + edx], 0x3a
jne 0x550cc8
mov ecx, dword [esp + 0x7c]
mov dword [edi + 0x14], ecx
cmp byte [eax + 8], 0x22
je 0x44060f
mov edx, dword [esi + 8]
lea eax, [esi + 0xc]
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x5d
je 0x43ff9f
ja 0x4404f1
cmp dl, 0x3a
je 0x4404fa
cmp dl, 0x5b
je 0x4404fa
cmp dl, 0x2c
je 0x4404fa
mov eax, dword [esp + 0x24]
mov dword [edi + 0x14], eax
mov eax, dword [edi + 4]
cmp dword [esp + 0x68], eax
je case.0x43f1d9.0
lea edx, [eax + 4]
mov eax, dword [eax]
mov dword [edi + 4], edx
movzx eax, byte [ebp + eax]
cmp al, 0x2c
je 0x43ff30
cmp al, 0x7d
je 0x4404e5
mov dword [edi + 0x10], 3
lea esi, cs:[esi]
nop
mov dword [esp + 0x58], esi
mov edx, 1
mov ebx, dword [edi + 4]
lea eax, [ebx + 4]
mov dword [edi + 4], eax
mov eax, dword [ebx]
add eax, ebp
cmp byte [eax], 0x22
jne 0x43e810
mov esi, dword [ebx + 4]
lea ecx, [ebx + 8]
mov dword [edi + 4], ecx
cmp byte [ebp + esi], 0x3a
jne 0x43e810
mov esi, dword [esp + 0x7c]
mov dword [edi + 0x14], esi
cmp byte [eax + 8], 0x22
je 0x440131
mov ecx, dword [ebx + 8]
lea eax, [ebx + 0xc]
mov dword [edi + 4], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5b
je 0x440085
ja 0x440080
cmp cl, 0x2c
je 0x440085
cmp cl, 0x3a
je 0x440085
mov esi, dword [esp + 0x24]
mov dword [edi + 0x14], esi
lea ecx, [eax + 4]
mov eax, dword [eax]
mov dword [edi + 4], ecx
movzx eax, byte [ebp + eax]
cmp al, 0x2c
je 0x43ffe9
mov esi, dword [esp + 0x58]
cmp al, 0x7d
jne 0x43e810
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
test dl, dl
je 0x43ff14
jmp case.0x43f1d9.0
cmp cl, 0x7b
jne 0x440043
mov ecx, dword [edi + 8]
mov byte [esp + 0x70], dl
mov esi, dword [ecx + 4]
mov ebx, dword [esi + 4]
shl ebx, 2
lea esi, [esi]
mov ecx, dword [esi + 8]
add ecx, ebx
cmp eax, ecx
jae 0x43f460
mov ecx, dword [eax]
add eax, 4
mov dword [edi + 4], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x7b
je 0x4400e7
ja 0x4400e0
cmp cl, 0x5b
je 0x4400e7
cmp cl, 0x5d
jne 0x440098
mov ecx, dword [edi + 0x14]
mov edx, dword [esp + 0x24]
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, edx
jg 0x440098
movzx edx, byte [esp + 0x70]
jmp 0x44004a
cmp cl, 0x7d
je 0x4400c3
jmp 0x440098
add dword [edi + 0x14], 1
jmp 0x440098
mov dword [esp + 0x58], esi
xor edx, edx
jmp 0x43ffe9
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
lea edx, [esp + 0x88]
mov dword [esp + 8], edx
mov dword [esp], esi
mov dword [esp + 4], edi
call eax
sub esp, 0xc
jmp 0x43e448
cmp word [eax + 1], 0x6469
jne 0x43e716
mov ebp, dword [esp + 0x28]
jmp 0x43f1ac
cmp dword [eax + 1], 0x7373656d
jne 0x440024
cmp dword [eax + 4], 0x65676173
jne 0x440024
mov eax, dword [ecx]
add eax, ebp
cmp byte [eax], 0x22
jne case.0x43f1d9.0
mov ebx, dword [esp + 0x24]
lea edx, [ecx + 4]
mov esi, dword [edi + 0xc]
mov dword [edi + 4], edx
mov dword [edi + 0x14], ebx
lea ebx, [eax + 1]
movzx eax, byte [eax + 1]
mov byte [esi], al
cmp al, 0x22
jne 0x440193
jmp 0x440250
add ebx, 1
add esi, 1
movzx eax, byte [ebx]
mov byte [esi], al
cmp al, 0x22
je 0x440250
movzx edx, byte [ebx + 1]
cmp al, 0x5c
jne 0x440180
cmp dl, 0x75
je 0x4401b9
movzx eax, byte [edx + 0x582720]
test al, al
je case.0x43f1d9.0
mov byte [esi], al
add ebx, 2
add esi, 1
jmp 0x440186
lea eax, [ebx + 2]
call fcn.0040e4a0
lea edx, [eax - 0xd800]
mov ebp, eax
cmp edx, 0x3ff
jbe 0x440298
add ebx, 6
cmp ebp, 0x7f
jbe 0x4402e2
cmp ebp, 0x7ff
jbe 0x4402ef
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov byte [esp + 0x60], 1
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0xc]
mov dword [edi + 0xc], esi
mov dword [esp + 0x74], eax
sub esi, eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x6c], edx
mov edi, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x70], esi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
jmp 0x43ee4e
cmp byte [ebx + 6], 0x5c
mov dword [esp + 0x20], edx
jne case.0x43f1d9.0
cmp byte [ebx + 7], 0x75
jne case.0x43f1d9.0
mov eax, ebp
add esi, 1
mov byte [esi - 1], al
jmp 0x440186
mov dword [esp + 0x24], ebx
xor ecx, ecx
mov eax, edx
jmp 0x43eeb9
cmp dl, 0x7b
jne 0x43ea20
mov edx, dword [edi + 8]
mov dword [esp + 0x54], esi
mov ebx, dword [edx + 4]
mov ecx, dword [ebx + 4]
shl ecx, 2
mov edx, dword [ebx + 8]
add edx, ecx
cmp eax, edx
jae 0x43f460
mov edx, dword [eax]
add eax, 4
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x7b
je 0x4403af
ja 0x4403a8
cmp dl, 0x5b
je 0x4403af
cmp dl, 0x5d
jne 0x44035f
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x20]
sub edx, 1
mov dword [edi + 0x14], edx
cmp edx, esi
jg 0x44035f
mov esi, dword [esp + 0x54]
jmp 0x43ea27
cmp dl, 0x7d
je 0x44038a
jmp 0x44035f
add dword [edi + 0x14], 1
jmp 0x44035f
cmp dl, 0x7b
jne 0x43eceb
mov edx, dword [edi + 8]
mov dword [esp + 0x24], esi
mov ebx, dword [edx + 4]
mov ecx, dword [ebx + 4]
shl ecx, 2
mov edx, dword [ebx + 8]
add edx, ecx
cmp eax, edx
jae 0x43f460
mov edx, dword [eax]
add eax, 4
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x7b
je 0x44041f
ja 0x440418
cmp dl, 0x5b
je 0x44041f
cmp dl, 0x5d
jne 0x4403ce
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x20]
sub edx, 1
mov dword [edi + 0x14], edx
cmp edx, esi
jg 0x4403ce
mov esi, dword [esp + 0x24]
jmp 0x43ecf2
cmp dl, 0x7d
je 0x4403f9
jmp 0x4403ce
add dword [edi + 0x14], 1
jmp 0x4403ce
add eax, 1
mov dword [esp + 8], 6
mov dword [esp + 4], str.method
mov dword [esp], eax
mov dword [esp + 0x54], edx
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x54]
test eax, eax
jne 0x43e9ec
mov ebx, edx
jmp 0x43f5ec
cmp cl, 0x7b
jne 0x43f99a
mov ecx, dword [edi + 8]
mov dword [esp + 0x58], eax
mov ebx, dword [ecx + 4]
mov ecx, dword [ebx + 4]
shl ecx, 2
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x28]
add ecx, dword [ebx + 8]
cmp edx, ecx
jae 0x43f460
mov ecx, dword [edx]
add edx, 4
mov dword [edi + 4], edx
movzx ecx, byte [ebp + ecx]
cmp cl, 0x7b
je 0x4404c0
ja 0x4404c6
cmp cl, 0x5b
je 0x4404c0
cmp cl, 0x5d
jne 0x440474
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x24]
sub ecx, 1
mov dword [edi + 0x14], ecx
cmp ecx, eax
jg 0x440474
mov eax, dword [esp + 0x58]
jmp 0x43f9a1
add dword [edi + 0x14], 1
jmp 0x440474
cmp cl, 0x7d
je 0x4404a1
jmp 0x440474
lea edx, [esi + 8]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0x20]
mov dword [edi + 0x14], ebx
jmp 0x43f924
lea eax, [esi + 8]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x14], eax
jmp 0x43ff30
cmp dl, 0x7b
jne 0x43ff9f
mov edx, dword [edi + 8]
mov esi, dword [edx + 4]
mov ebx, dword [esi + 4]
lea ecx, [ebx*4]
mov edx, dword [esi + 8]
add edx, ecx
cmp eax, edx
jae 0x43f460
mov edx, dword [eax]
add eax, 4
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x7b
je 0x44054b
ja 0x440551
cmp dl, 0x5b
je 0x44054b
cmp dl, 0x5d
jne 0x44050a
mov ebx, dword [edi + 0x14]
lea edx, [ebx - 1]
mov ebx, dword [esp + 0x24]
mov dword [edi + 0x14], edx
cmp edx, ebx
jg 0x44050a
add dword [edi + 0x14], 1
jmp 0x44050a
cmp dl, 0x7d
je 0x440535
jmp 0x44050a
mov eax, dword [esp + 0x2c]
add eax, 8
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
jmp 0x43f049
cmp dl, 0x7b
jne 0x43f0bf
mov edx, dword [edi + 8]
mov esi, dword [edx + 4]
mov ecx, dword [esi + 4]
shl ecx, 2
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x24]
add edx, dword [esi + 8]
cmp eax, edx
jae 0x43fc14
mov edx, dword [eax]
add eax, 4
mov dword [edi + 4], eax
movzx edx, byte [ebp + edx]
cmp dl, 0x7b
je 0x4405d0
ja 0x4405d6
cmp dl, 0x5b
je 0x4405d0
cmp dl, 0x5d
jne 0x44058a
mov edx, dword [edi + 0x14]
mov ecx, dword [esp + 0x20]
sub edx, 1
mov dword [edi + 0x14], edx
cmp edx, ecx
jg 0x44058a
jmp 0x43f0c6
add dword [edi + 0x14], 1
jmp 0x44058a
cmp dl, 0x7d
je 0x4405b7
jmp 0x44058a
add eax, 1
mov dword [esp + 8], 5
mov dword [esp + 4], str.error
mov dword [esp], eax
mov dword [esp + 0x58], edx
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x58]
test eax, eax
jne 0x43ecb7
mov esi, edx
jmp 0x43f82a
add eax, 1
mov dword [esp + 8], 7
mov dword [esp + 4], str.message
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x43ff6b
mov ecx, ebx
jmp 0x44014b
add eax, 1
mov dword [esp + 8], 6
mov dword [esp + 4], str.result
mov dword [esp], eax
mov dword [esp + 0x2c], edx
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x2c]
test eax, eax
jne 0x43f08b
mov eax, dword [esp + 0x24]
mov esi, edx
jmp 0x43fcf1
cmp dword [edx + 1], 0x65646f63
jne 0x43f966
mov dword [esp + 0x7c], ebx
jmp 0x43fdc8
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x54], 0
mov ebx, esi
mov byte [esp + 0x5f], 0
add eax, 4
mov dword [esp + 0x28], eax
jmp 0x43eb60
mov dword [edi + 0x10], 3
mov dword [edi + 0x10], 3
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x14], esi
add eax, 8
mov dword [edi + 4], eax
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], 3
mov dword [edi + 0x10], 3
mov dword [edi + 0x10], 3
mov dword [edi + 0x10], 3
mov dword [edi + 0x10], 3
mov dword [edi + 0x10], 3
mov eax, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
mov dword [edi + 0x10], 3
mov dword [edi + 0x10], 3
mov eax, dword [esp + 0x2c]
add eax, 8
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
sub eax, 1
mov dword [edi + 0x14], eax
mov dword [edi + 0x10], 3
mov dword [edi + 0x10], 3
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x14], ecx
add eax, 8
mov dword [edi + 4], eax
mov dword [edi + 0x14], ecx