Function at 0x4d68b0
Capabilities:
Encode data using base64
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
add edx, eax
push edi
push esi
push ebx
sub esp, 0x12c
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp], 0x280
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x2c], eax
call sym._malloc
mov dword [esp + 0x38], eax
test eax, eax
je 0x4d7a3a
mov eax, dword [esp + 0x24]
mov ebx, dword [0x4f48a4]
mov dword [ebp + 8], 0
and byte [ebp + 0x1c], 0x97
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x18], 0
test ebx, ebx
je 0x4d6b59
mov ebx, dword [ebp + 4]
mov edi, dword [ebp]
test ebx, ebx
je 0x4d6b28
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x20]
cmp eax, esi
je 0x4d74dd
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x40], 0
xor esi, esi
and eax, 2
mov dword [esp + 0x48], 0x20
mov dword [esp + 0x44], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
mov edi, ebp
mov ebp, edx
mov edx, dword [esp + 0x28]
lea eax, [edx + 1]
mov dword [esp + 0x30], eax
mov dword [esp + 0x9c], eax
movzx eax, byte [edx]
mov edx, dword [esp + 0x2c]
mov byte [esp + 0x1c], al
test edx, edx
je 0x4d69a0
movzx eax, byte [edx + eax]
mov byte [esp + 0x1c], al
movzx eax, byte [esp + 0x1c]
cmp al, 0x3f
ja 0x4d6b08
cmp al, 9
jbe case.0x4d6b1b.2
movzx eax, byte [esp + 0x1c]
sub eax, 0xa
cmp al, 0x35
ja case.0x4d6b1b.2
movzx eax, al
jmp dword [eax*4 + 0x55f9d0]
mov eax, dword [esp + 0x24]
and eax, 0x1200
cmp eax, 0x1200
je 0x4d766b
lea esi, [esi]
nop
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4d6a70
movzx ebx, byte [ecx]
mov byte [esp + 0x28], bl
lea ebx, [ecx + ebx + 1]
cmp dword [esp + 0x10], ebx
jne 0x4d6a70
cmp byte [esp + 0x28], 0xff
je 0x4d6a70
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x28], ecx
movzx ecx, byte [ecx]
cmp cl, 0x2a
je 0x4d6a70
cmp cl, 0x5e
je 0x4d6a70
mov ebx, dword [esp + 0x34]
test ebx, ebx
jne 0x4d6a53
cmp cl, 0x2b
je 0x4d6a70
cmp cl, 0x3f
je 0x4d6a70
mov ebx, dword [esp + 0x24]
test bh, 2
je 0x4d6a4a
and bh, 0x10
je 0x4d75a3
cmp cl, 0x7b
je 0x4d6a70
mov ebx, dword [esp + 0x10]
jmp 0x4d6bbc
cmp cl, 0x5c
jne 0x4d6a33
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx + 1]
cmp bl, 0x2b
je 0x4d6a70
cmp bl, 0x3f
jne 0x4d6a33
lea esi, [esi]
mov esi, dword [esp + 0x10]
mov ebx, edx
mov edx, esi
sub edx, ebx
add edx, 2
cmp edx, eax
ja 0x4d6aeb
jmp 0x4d6ba1
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d6ad5
sub eax, ebx
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
lea ebx, [ebp + eax]
test ebp, ebp
cmovne ebp, ebx
add eax, esi
test esi, esi
cmovne esi, eax
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 2
cmp ebx, eax
jbe 0x4d6ba1
mov ebx, ecx
cmp eax, 0x10000
jne 0x4d6a90
mov eax, 0xf
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [esp + 0x1c]
sub eax, 0x5b
cmp al, 0x21
ja case.0x4d6b1b.2
movzx eax, al
jmp dword [eax*4 + 0x55faa8]
test edi, edi
je 0x4d71d7
mov dword [esp], edi
mov dword [esp + 4], 0x20
call sym._realloc
mov edi, eax
mov dword [ebp], edi
test edi, edi
je 0x4d7a2e
mov dword [ebp + 4], 0x20
jmp 0x4d692a
mov edx, 0x4f48c0
mov ecx, 0x40
mov eax, ebx
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
mov edi, edx
rep stosd dword es:[edi], eax
nop
mov dword [esp], ebx
call esi
test eax, eax
je 0x4d6b80
mov byte [ebx + 0x4f48c0], 1
add ebx, 1
cmp ebx, 0x100
jne 0x4d6b70
mov byte [0x4f491f], 1
mov dword [0x4f48a4], 1
jmp 0x4d691c
mov eax, dword [esp + 0x10]
lea edx, [eax + 1]
lea ebx, [eax + 2]
mov dword [esp + 0x18], edx
mov edx, 2
mov word [eax], dx
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov ecx, edx
mov edx, ebx
sub edx, ecx
add edx, 1
cmp eax, edx
jae 0x4d6c3e
mov edx, ebx
jmp 0x4d6c2a
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
mov edx, dword [esp + 0x10]
je 0x4d6c1c
sub eax, ebx
test ebp, ebp
lea ebx, [ebp + eax]
cmovne ebp, ebx
test esi, esi
lea ebx, [esi + eax]
cmovne esi, ebx
add dword [esp + 0x14], eax
add edx, eax
add dword [esp + 0x18], eax
mov ebx, edx
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 1
cmp ebx, eax
jbe 0x4d6c3c
mov dword [esp + 0x10], edx
mov ebx, ecx
cmp eax, 0x10000
jne 0x4d6bd0
jmp 0x4d6af2
mov ebx, edx
lea eax, [ebx + 1]
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x1c]
mov byte [ebx], al
mov eax, dword [esp + 0x18]
add byte [eax], 1
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x28], edx
jne 0x4d6977
jmp 0x4d74b5
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + 1]
cmp dword [esp + 0x30], eax
je 0x4d6cb7
test byte [esp + 0x24], 8
jne 0x4d6cb7
mov ebx, dword [esp + 0x28]
lea eax, [ebx - 1]
movzx edx, byte [ebx - 1]
cmp ecx, eax
jae 0x4d6f28
cmp byte [ebx - 2], 0x5c
jne 0x4d6f28
cmp dl, 0x28
je 0x4d6cb7
cmp dl, 0x7c
jne case.0x4d6b1b.2
mov ebx, dword [edi]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub edx, ebx
add edx, 1
cmp eax, edx
jae 0x4d7a6b
mov edx, esi
mov esi, dword [esp + 0x18]
jmp 0x4d6d43
mov ecx, 0x10000
add eax, eax
mov dword [esp + 0x18], edx
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
mov edx, dword [esp + 0x18]
je 0x4d6d2d
sub eax, ebx
add dword [esp + 0x10], eax
lea ebx, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, ebx
test edx, edx
lea ebx, [edx + eax]
cmovne edx, ebx
add eax, esi
test esi, esi
cmovne esi, eax
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 1
cmp ebx, eax
jbe 0x4d7a65
mov ebx, ecx
cmp eax, 0x10000
jne 0x4d6cd8
jmp 0x4d6af2
test dword [esp + 0x24], 0x8000
je case.0x4d6b1b.2
mov byte [esp + 0x1c], 0x7c
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x400
jne 0x4d69e5
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
sub eax, ebx
add eax, 3
cmp ecx, eax
jb 0x4d6ddf
jmp 0x4d7c8e
lea eax, [ecx + ecx]
mov ecx, 0x10000
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d6dcb
mov ecx, eax
sub ecx, ebx
add dword [esp + 0x14], ecx
add esi, ecx
add ecx, ebp
test ebp, ebp
cmovne ebp, ecx
mov ebx, esi
mov ecx, dword [edi + 4]
sub ebx, eax
add ebx, 3
cmp ebx, ecx
jbe 0x4d7c8a
mov ebx, eax
cmp ecx, 0x10000
jne 0x4d6d90
jmp 0x4d6af2
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x30], esi
je 0x4d83d6
mov esi, dword [edi]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub edx, esi
mov ebx, esi
lea ecx, [edx + 0x22]
cmp ecx, eax
jbe 0x4d75c7
mov ecx, dword [esp + 0x18]
jmp 0x4d6e7f
mov edx, 0x10000
add eax, eax
cmp eax, edx
cmova eax, edx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._realloc
mov dword [edi], eax
mov ebx, eax
test eax, eax
je 0x4d7a3a
cmp eax, esi
mov ecx, dword [esp + 0x18]
je 0x4d6e69
sub eax, esi
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
lea edx, [ebp + eax]
test ebp, ebp
cmovne ebp, edx
add eax, ecx
test ecx, ecx
cmovne ecx, eax
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub edx, ebx
lea esi, [edx + 0x22]
cmp esi, eax
jbe 0x4d75c3
mov esi, ebx
mov dword [esp + 0x18], ecx
cmp eax, 0x10000
jne 0x4d6e20
jmp 0x4d6af2
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x30], edx
je 0x4d7c14
mov edx, dword [esp + 0x28]
lea eax, [edx + 2]
mov dword [esp + 0x30], eax
mov dword [esp + 0x9c], eax
movzx eax, byte [edx + 1]
mov byte [esp + 0x1c], al
sub eax, 0x27
cmp al, 0x55
ja case.0x4d6ec5.3
movzx eax, al
jmp dword [eax*4 + 0x55fb30]
test dword [esp + 0x24], 0x402
jne case.0x4d6b1b.2
test esi, esi
jne 0x4d71ea
test byte [esp + 0x24], 0x20
jne 0x4d933e
test byte [esp + 0x24], 0x10
je case.0x4d6b1b.2
movzx eax, byte [esp + 0x1c]
cmp al, 0x2b
setne byte [esp + 0x30]
cmp al, 0x3f
mov eax, dword [esp + 0x9c]
setne byte [esp + 0x1c]
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x20]
jne 0x4d7212
jmp 0x4d74b5
cmp dl, 0x28
je 0x4d790b
cmp dl, 0x7c
jne case.0x4d6b1b.2
test dword [esp + 0x24], 0x8000
jne 0x4d6cb7
jmp case.0x4d6b1b.2
test dword [esp + 0x24], 0x2000
je case.0x4d6b1b.2
test ebp, ebp
jne 0x4d7877
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4d7c2a
test dword [esp + 0x24], 0x20000
je 0x4d9354
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov byte [esp + 0x1c], 0x29
jmp 0x4d69e5
test dword [esp + 0x24], 0x800
jne 0x4d6d62
jmp case.0x4d6b1b.2
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x30], ebx
je 0x4d700a
test byte [esp + 0x24], 8
jne 0x4d700a
mov eax, dword [esp + 0x28]
movzx edx, byte [eax + 1]
cmp dl, 0x5c
sete cl
add eax, 2
cmp ebx, eax
ja 0x4d782e
test dword [esp + 0x24], 0x2000
je 0x4d7d52
xor eax, eax
cmp dl, 0x29
je 0x4d700a
test dword [esp + 0x24], 0x8000
jne 0x4d7d60
test eax, eax
je case.0x4d6b1b.2
test cl, cl
je case.0x4d6b1b.2
movzx eax, byte [eax]
cmp al, 0x7c
jne case.0x4d6b1b.2
mov ebx, dword [edi]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub edx, ebx
add edx, 1
cmp eax, edx
jae 0x4d7a4a
mov edx, esi
mov esi, dword [esp + 0x18]
jmp 0x4d7097
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
mov edx, dword [esp + 0x18]
je 0x4d7081
sub eax, ebx
add dword [esp + 0x10], eax
lea ebx, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, ebx
test edx, edx
lea ebx, [edx + eax]
cmovne edx, ebx
add eax, esi
test esi, esi
cmovne esi, eax
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 1
cmp ebx, eax
jbe 0x4d7a44
mov ebx, ecx
mov dword [esp + 0x18], edx
cmp eax, 0x10000
jne 0x4d7030
jmp 0x4d6af2
test dword [esp + 0x24], 0x2000
je case.0x4d6b1b.2
add dword [edi + 0x18], 1
mov esi, dword [esp + 0x48]
add dword [esp + 0x44], 1
cmp dword [esp + 0x40], esi
je 0x4d791e
mov eax, dword [esp + 0x40]
mov ebx, dword [edi]
xor ecx, ecx
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
sub edx, ebx
mov esi, dword [esp + 0x44]
mov dword [eax], edx
mov edx, ebp
sub edx, ebx
mov dword [eax + 0x10], esi
add edx, 1
test ebp, ebp
cmove edx, ecx
mov ecx, dword [esp + 0x10]
sub ecx, ebx
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
cmp esi, 0xff
jbe 0x4d7950
mov eax, dword [esp + 0x9c]
add dword [esp + 0x40], 1
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], eax
jmp 0x4d6c5e
mov esi, dword [esp + 0x10]
mov ebx, dword [edi]
mov eax, dword [edi + 4]
mov edx, esi
sub edx, ebx
add edx, 1
cmp eax, edx
jae 0x4d7588
mov edx, esi
mov esi, dword [esp + 0x18]
jmp 0x4d71c7
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
mov edx, dword [esp + 0x18]
je 0x4d71b1
sub eax, ebx
add dword [esp + 0x10], eax
lea ebx, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, ebx
test edx, edx
lea ebx, [edx + eax]
cmovne edx, ebx
add eax, esi
test esi, esi
cmovne esi, eax
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 1
cmp ebx, eax
jbe 0x4d7582
mov ebx, ecx
mov dword [esp + 0x18], edx
cmp eax, 0x10000
jne 0x4d7160
jmp 0x4d6af2
mov dword [esp], 0x20
call sym._malloc
mov edi, eax
jmp 0x4d6b42
movzx eax, byte [esp + 0x1c]
cmp al, 0x2b
setne byte [esp + 0x30]
cmp al, 0x3f
mov eax, dword [esp + 0x9c]
setne byte [esp + 0x1c]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x20], eax
je 0x4d7298
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebp
movzx ebp, byte [esp + 0x1c]
mov dword [esp + 0x140], edi
movzx edi, byte [esp + 0x30]
lea esi, [esi]
nop
movzx eax, byte [edx]
lea esi, [edx + 1]
test ebx, ebx
je 0x4d7246
movzx eax, byte [ebx + eax]
cmp al, 0x2a
je 0x4d7560
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x4d7440
cmp al, 0x2b
je 0x4d7571
cmp al, 0x3f
je 0x4d7571
mov eax, edi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x28], edx
mov byte [esp + 0x30], al
mov eax, ebp
mov edi, dword [esp + 0x140]
mov byte [esp + 0x1c], al
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x9c], edx
test esi, esi
je 0x4d6c5e
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
cmp byte [esp + 0x1c], 0
mov eax, ecx
mov edx, ebx
je 0x4d73ad
mov eax, dword [esp + 0x10]
sub eax, ebx
add eax, 3
cmp eax, ecx
jbe 0x4d7356
mov dword [esp + 0x140], edi
mov edi, ebp
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
jmp 0x4d7331
lea eax, [ecx + ecx]
mov ecx, 0x10000
cmp eax, ecx
cmova eax, ecx
mov dword [ebp + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [ebp], eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d7321
mov ecx, eax
sub ecx, ebx
add dword [esp + 0x14], ecx
add esi, ecx
lea ebx, [edi + ecx]
test edi, edi
cmovne edi, ebx
add dword [esp + 0x18], ecx
mov ebx, esi
mov ecx, dword [ebp + 4]
sub ebx, eax
add ebx, 3
cmp ebx, ecx
jbe 0x4d733e
mov ebx, eax
cmp ecx, 0x10000
jne 0x4d72e0
jmp 0x4d6af2
mov dword [esp + 0x140], ebp
mov ebp, edi
mov edi, dword [esp + 0x140]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x2c]
movzx eax, byte [ecx - 2]
test edx, edx
je 0x4d8448
movsx eax, byte [edx + eax]
movsx edx, byte [edx + 0x2e]
cmp edx, eax
je 0x4d83ec
mov eax, esi
mov byte [esp + 0x1c], 0
sub eax, dword [esp + 0x10]
mov edx, 0x12
sub eax, 6
mov ecx, eax
movzx eax, ah
mov ebx, dword [esp + 0x10]
mov byte [ebx], dl
add ebx, 3
mov byte [ebx - 2], cl
mov byte [ebx - 1], al
mov edx, dword [edi]
mov dword [esp + 0x10], ebx
mov eax, dword [edi + 4]
mov ebx, edx
mov edx, dword [esp + 0x10]
sub edx, ebx
add edx, 3
cmp edx, eax
jbe 0x4d7ba0
mov dword [esp + 0x140], edi
mov edi, ebp
mov ebp, dword [esp + 0x140]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
jmp 0x4d7434
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebp + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [ebp], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d7420
sub eax, ebx
add dword [esp + 0x14], eax
add esi, eax
lea ebx, [edi + eax]
test edi, edi
cmovne edi, ebx
add dword [esp + 0x18], eax
mov ebx, esi
mov eax, dword [ebp + 4]
sub ebx, ecx
add ebx, 3
cmp ebx, eax
jbe 0x4d7b88
mov ebx, ecx
cmp eax, 0x10000
jne 0x4d73e0
jmp 0x4d6af2
cmp al, 0x5c
jne 0x4d726a
cmp esi, dword [esp + 0x20]
je 0x4d7c14
movzx eax, byte [edx + 1]
lea esi, [edx + 2]
test ebx, ebx
je 0x4d7461
movzx eax, byte [ebx + eax]
cmp al, 0x2b
setne cl
cmp al, 0x3f
setne al
test cl, cl
je 0x4d7477
test al, al
jne 0x4d726a
mov edx, esi
or edi, ecx
or ebp, eax
cmp dword [esp + 0x20], edx
jne 0x4d7238
mov eax, edi
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x140]
mov byte [esp + 0x30], al
mov eax, ebp
mov ebp, dword [esp + 0x4c]
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x9c], eax
test esi, esi
jne 0x4d7298
mov eax, ebp
mov ebp, edi
mov edi, dword [esp + 0x10]
mov esi, eax
test eax, eax
je 0x4d74d1
mov byte [eax], 0xe
mov eax, edi
sub eax, esi
sub eax, 3
mov word [esi + 1], ax
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4d81fe
test dword [esp + 0x24], 0x40000
je 0x4d7d74
mov ebx, dword [ebp]
mov edx, edi
mov eax, dword [ebp + 4]
sub edx, ebx
add edx, 1
cmp eax, edx
jb 0x4d754d
jmp 0x4d7d6e
mov edx, 0x10000
add eax, eax
cmp eax, edx
cmova eax, edx
mov dword [ebp + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [ebp], eax
mov edx, eax
test eax, eax
je 0x4d7a3a
sub eax, ebx
add eax, edi
cmp edx, ebx
cmovne edi, eax
mov eax, dword [ebp + 4]
mov ecx, edi
sub ecx, edx
add ecx, 1
cmp ecx, eax
jbe 0x4d7d6e
mov ebx, edx
cmp eax, 0x10000
jne 0x4d7508
jmp 0x4d6af2
mov edx, esi
mov eax, 1
mov ecx, 1
jmp 0x4d7479
cmp al, 0x2b
mov edx, esi
setne cl
cmp al, 0x3f
setne al
jmp 0x4d7479
mov dword [esp + 0x18], esi
mov esi, edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 3
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov ebx, dword [esp + 0x10]
cmp cl, 0x5c
jne 0x4d6bbc
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 1], 0x7b
jne 0x4d6bbc
jmp 0x4d6a70
mov dword [esp + 0x18], ecx
add edx, 1
mov esi, dword [esp + 0x10]
cmp eax, edx
jae 0x4d7a8c
mov edx, esi
mov esi, dword [esp + 0x18]
jmp 0x4d7647
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
mov edx, dword [esp + 0x18]
je 0x4d7631
sub eax, ebx
add dword [esp + 0x10], eax
lea ebx, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, ebx
test edx, edx
lea ebx, [edx + eax]
cmovne edx, ebx
add eax, esi
test esi, esi
cmovne esi, eax
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 1
cmp ebx, eax
jbe 0x4d7a86
mov ebx, ecx
mov dword [esp + 0x18], edx
cmp eax, 0x10000
jne 0x4d75e0
jmp 0x4d6af2
mov eax, dword [esp + 0x24]
and eax, 0x1200
cmp eax, 0x200
jne 0x4d7802
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
cmp eax, edx
je 0x4d7b57
mov dword [esp + 0x1c], esi
mov ebx, eax
mov esi, dword [esp + 0x2c]
mov eax, 0xffffffff
jmp 0x4d76b0
cmp eax, 0x7fff
jg 0x4d76a6
xor edx, edx
cmp eax, 0xffffffff
je 0x4d769f
lea edx, [eax + eax*4]
add edx, edx
movzx eax, cl
lea eax, [edx + eax - 0x30]
cmp ebx, dword [esp + 0x20]
je 0x4d810c
add ebx, 1
movzx ecx, byte [ebx - 1]
test esi, esi
je 0x4d76bf
movzx ecx, byte [esi + ecx]
lea edx, [ecx - 0x30]
cmp dl, 9
jbe 0x4d768c
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x1c], eax
xor eax, eax
cmp cl, 0x2c
je 0x4d82e2
mov ebx, dword [esp + 0x28]
test ebx, ebx
js 0x4d7b57
test al, al
jne 0x4d7b57
test dword [esp + 0x24], 0x1000
jne 0x4d7739
cmp cl, 0x5c
jne 0x4d77e9
mov eax, dword [esp + 0x9c]
cmp eax, dword [esp + 0x20]
je 0x4d77e9
lea edx, [eax + 1]
movzx ecx, byte [eax]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x4d7739
movzx eax, cl
movzx ecx, byte [edx + eax]
cmp cl, 0x7d
jne 0x4d7b57
test esi, esi
je 0x4d95f2
cmp dword [esp + 0x1c], 0x7fff
jg 0x4d944f
mov ebx, dword [edi]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi + 4]
sub eax, ebx
test edx, edx
jne 0x4d8256
add eax, 3
cmp ecx, eax
jb 0x4d77dc
jmp 0x4d95b0
lea eax, [ecx + ecx]
mov edx, 0x10000
cmp eax, edx
cmova eax, edx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d77c6
mov edx, eax
sub edx, ebx
add dword [esp + 0x10], edx
add dword [esp + 0x14], edx
lea ecx, [ebp + edx]
test ebp, ebp
cmovne ebp, ecx
add edx, esi
test esi, esi
cmovne esi, edx
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 4]
sub edx, eax
add edx, 3
cmp edx, ecx
jbe 0x4d95b0
mov ebx, eax
cmp ecx, 0x10000
jne 0x4d7780
jmp 0x4d6af2
test dword [esp + 0x24], 0x200000
je 0x4d936a
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
mov byte [esp + 0x1c], 0x7b
mov eax, dword [esp + 0x2c]
test eax, eax
je case.0x4d6b1b.2
movzx eax, byte [esp + 0x1c]
mov edx, dword [esp + 0x2c]
movzx eax, byte [edx + eax]
mov edx, dword [edi]
mov byte [esp + 0x1c], al
mov eax, dword [edi + 4]
jmp 0x4d69e5
test dword [esp + 0x24], 0x2000
jne 0x4d6fdc
test eax, eax
je 0x4d7d52
test cl, cl
je 0x4d7d52
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + 2]
cmp al, 0x29
je 0x4d700a
test dword [esp + 0x24], 0x8000
je 0x4d7002
jmp case.0x4d6b1b.2
test ebp, ebp
je 0x4d7c2a
mov ebx, dword [edi]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub edx, ebx
add edx, 1
cmp eax, edx
jae 0x4d801b
mov dword [esp + 0x1c], ebp
mov ebp, esi
mov esi, dword [esp + 0x18]
jmp 0x4d78ff
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d78e9
sub eax, ebx
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
lea ebx, [ebp + eax]
add dword [esp + 0x1c], eax
test ebp, ebp
cmovne ebp, ebx
add eax, esi
test esi, esi
cmovne esi, eax
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 1
cmp ebx, eax
jbe 0x4d8011
mov ebx, ecx
cmp eax, 0x10000
jne 0x4d78a0
jmp 0x4d6af2
test dword [esp + 0x24], 0x2000
jne 0x4d6cb7
jmp case.0x4d6b1b.2
mov esi, dword [esp + 0x40]
lea eax, [esi + esi*4]
shl eax, 3
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._realloc
mov dword [esp + 0x38], eax
test eax, eax
je 0x4d7a3a
lea eax, [esi + esi]
mov dword [esp + 0x48], eax
jmp 0x4d70cc
lea edx, [ecx + 2]
mov esi, dword [esp + 0x10]
mov dword [eax + 8], edx
mov edx, dword [edi + 4]
lea eax, [ecx + 3]
cmp eax, edx
ja 0x4d79b5
jmp 0x4d80eb
lea eax, [edx + edx]
mov edx, 0x10000
cmp eax, edx
cmova eax, edx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
test eax, eax
je 0x4d7a3a
mov edx, eax
sub edx, ebx
add edx, esi
cmp eax, ebx
cmovne esi, edx
mov edx, dword [edi + 4]
mov ecx, esi
sub ecx, eax
add ecx, 3
cmp ecx, edx
jbe 0x4d80e7
mov ebx, eax
cmp edx, 0x10000
jne 0x4d7970
jmp 0x4d6af2
test dword [esp + 0x24], 0x4000
jne case.0x4d6b1b.2
movzx eax, byte [esp + 0x1c]
sub eax, 0x30
mov byte [esp + 0x28], al
movzx ecx, al
cmp ecx, dword [esp + 0x44]
ja 0x4d96fa
mov eax, dword [esp + 0x40]
mov edx, eax
sub edx, 1
js 0x4d962b
mov ebx, dword [esp + 0x38]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4 - 4]
jmp 0x4d7a14
sub edx, 1
sub eax, 0x14
cmp edx, 0xffffffff
je 0x4d962b
cmp ecx, dword [eax]
jne 0x4d7a05
jmp case.0x4d6b1b.2
mov eax, dword [esp + 0x34]
test eax, eax
jne case.0x4d69c0.32
jmp case.0x4d6ec5.3
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 0xc
jmp 0x4d6af7
mov dword [esp + 0x18], esi
mov esi, edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0xa
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov dword [esp + 0x18], esi
mov esi, edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 9
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov dword [esp + 0x18], esi
mov esi, edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
cmp byte [edx + 1], 0x5e
lea ebx, [ecx + 1]
sete al
mov dword [esp + 0x10], ebx
add eax, 4
mov byte [ecx], al
cmp byte [edx + 1], 0x5e
jne 0x4d7abd
mov eax, edx
add eax, 2
mov dword [esp + 0x30], eax
mov dword [esp + 0x9c], eax
mov ebx, dword [edi]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub edx, ebx
add edx, 1
cmp eax, edx
jae 0x4d7d95
mov edx, esi
mov esi, dword [esp + 0x18]
jmp 0x4d7b47
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
mov edx, dword [esp + 0x18]
je 0x4d7b31
sub eax, ebx
add dword [esp + 0x10], eax
lea ebx, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, ebx
test edx, edx
lea ebx, [edx + eax]
cmovne edx, ebx
add eax, esi
test esi, esi
cmovne esi, eax
mov ebx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 1
cmp ebx, eax
jbe 0x4d7d8f
mov ebx, ecx
mov dword [esp + 0x18], edx
cmp eax, 0x10000
jne 0x4d7ae0
jmp 0x4d6af2
test dword [esp + 0x24], 0x200000
je 0x4d936a
mov eax, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
test dword [esp + 0x24], 0x1000
je 0x4d7802
mov byte [esp + 0x1c], 0x7b
jmp case.0x4d6b1b.2
mov dword [esp + 0x140], ebp
mov ebp, edi
mov edi, dword [esp + 0x140]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, edx
lea ebx, [edx + 3]
sub eax, esi
mov dword [esp + 0x18], eax
movsx eax, byte [esp + 0x1c]
add eax, 0xf
mov dword [esp + 0x1c], eax
cmp esi, edx
je 0x4d7bdd
mov edx, dword [esp + 0x10]
mov dword [esp + 4], esi
mov eax, edx
sub eax, esi
mov dword [esp + 8], eax
mov eax, esi
sub eax, edx
add eax, ebx
mov dword [esp], eax
call sym._memmove
movzx eax, byte [esp + 0x1c]
cmp byte [esp + 0x30], 0
mov byte [esi], al
movzx eax, word [esp + 0x18]
mov word [esi + 1], ax
je 0x4d8064
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], eax
jmp 0x4d6c5e
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 5
jmp 0x4d6af7
sub dword [esp + 0x40], 1
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
mov edx, dword [edi]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov ecx, dword [eax + 4]
mov esi, dword [eax]
lea ebx, [edx + ecx - 1]
add esi, edx
test ecx, ecx
mov ecx, 0
cmovne ecx, ebx
mov dword [esp + 0x14], esi
mov esi, dword [eax + 0xc]
mov ebp, ecx
mov ecx, dword [eax + 0x10]
add esi, edx
mov dword [esp + 0x18], ecx
cmp ecx, 0xff
jbe 0x4d8ce7
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], eax
jmp 0x4d6c5e
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, edx
lea ebx, [edx + 3]
sub eax, ecx
lea esi, [eax + 3]
cmp edx, ecx
je 0x4d7cc6
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, ecx
mov dword [esp + 4], edx
sub eax, edx
sub edx, ecx
mov dword [esp + 8], eax
mov eax, edx
add eax, ebx
mov dword [esp], eax
call sym._memmove
mov eax, dword [esp + 0x14]
mov byte [eax], 0xf
mov word [eax + 1], si
test ebp, ebp
je 0x4d7ce4
mov eax, ebx
mov byte [ebp], 0xe
sub eax, ebp
sub eax, 3
mov word [ebp + 1], ax
mov esi, dword [edi]
mov edx, ebx
mov eax, dword [edi + 4]
sub edx, esi
add edx, 3
cmp edx, eax
ja 0x4d7d46
jmp 0x4d803d
mov edx, 0x10000
add eax, eax
cmp eax, edx
cmova eax, edx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._realloc
mov dword [edi], eax
mov edx, eax
test eax, eax
je 0x4d7a3a
sub eax, esi
mov ecx, ebx
add eax, ebx
cmp edx, esi
cmovne ecx, eax
mov eax, dword [edi + 4]
mov ebx, ecx
sub ecx, edx
add ecx, 3
cmp ecx, eax
jbe 0x4d803d
mov esi, edx
cmp eax, 0x10000
jne 0x4d7d00
jmp 0x4d6af2
test dword [esp + 0x24], 0x8000
je case.0x4d6b1b.2
cmp dl, 0x7c
jne case.0x4d6b1b.2
jmp 0x4d700a
mov byte [edi], 1
add edi, 1
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, edi
sub eax, dword [ebp]
mov dword [ebp + 8], eax
xor eax, eax
jmp 0x4d6af7
mov dword [esp + 0x18], esi
mov esi, edx
mov edx, dword [esp + 0x10]
xor ecx, ecx
lea eax, [edx + 1]
mov byte [edx], 0x20
add edx, 5
mov dword [esp + 0x50], eax
mov dword [edx - 4], 0
mov dword [edx + 0x18], 0
and edx, 0xfffffffc
sub eax, edx
add eax, 0x20
and eax, 0xfffffffc
mov ebx, eax
xor eax, eax
mov dword [edx + eax], ecx
add eax, 4
cmp eax, ebx
jb 0x4d7dc5
mov eax, dword [esp + 0x10]
cmp byte [eax - 1], 5
je 0x4d81e7
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x30], edx
je 0x4d83d6
movzx eax, byte [esp + 0x24]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], esi
mov ebx, dword [esp + 0x30]
and eax, 1
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
mov byte [esp + 0x4c], 0
mov dword [esp + 0x140], edi
mov edi, dword [esp + 0x50]
mov byte [esp + 0x7d], al
mov dword [esp + 0x1c], 0xffffffff
jmp 0x4d7ebd
cmp byte [esp + 0x4c], 0
movzx edx, byte [ebx + 1]
je 0x4d7fb8
cmp al, 0x2d
jne 0x4d7f03
cmp dl, 0x5d
jne 0x4d9522
lea ecx, [ebx - 1]
cmp dword [esp + 0x3c], ecx
ja 0x4d7e61
cmp byte [ebx - 1], 0x5b
je 0x4d7f03
lea ecx, [ebx - 2]
cmp dword [esp + 0x3c], ecx
ja 0x4d7e74
cmp byte [ebx - 2], 0x5b
je 0x4d85d7
cmp dl, 0x5d
je 0x4d7f32
mov eax, dword [esp + 0x24]
mov dword [esp], ebp
mov ecx, esi
lea edx, [esp + 0x9c]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1c]
call sym._byte_compile_range
test eax, eax
jne 0x4d7f9a
mov dword [esp + 0x1c], 0xffffffff
mov ebx, dword [esp + 0x9c]
cmp ebx, esi
je 0x4d83d6
lea eax, [ebx + 1]
mov dword [esp + 0x28], eax
mov dword [esp + 0x9c], eax
movzx eax, byte [ebx]
test ebp, ebp
je 0x4d7ed7
movzx eax, byte [ebp + eax]
cmp al, 0x5c
jne 0x4d7ee6
cmp byte [esp + 0x7d], 0
jne 0x4d7fc8
cmp al, 0x5d
jne 0x4d7e2e
mov edx, dword [esp + 0x30]
add edx, 1
cmp dword [esp + 0x28], edx
jne 0x4d9538
movzx edx, byte [ebx + 1]
cmp dl, 0x2d
je 0x4d7f5b
test byte [esp + 0x24], 4
je 0x4d7f32
cmp al, 0x5b
jne 0x4d7f32
cmp dl, 0x3a
je 0x4d8767
cmp al, 0x5b
jne 0x4d7f32
cmp dl, 0x3d
je 0x4d8f3f
cmp dl, 0x2e
je 0x4d8e67
mov edx, eax
mov ecx, eax
mov ebx, 1
mov dword [esp + 0x1c], eax
shr dl, 3
and ecx, 7
movzx edx, dl
shl ebx, cl
or byte [edi + edx], bl
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x4c], 0
jmp 0x4d7eb5
cmp byte [ebx + 2], 0x5d
je 0x4d7f32
cmp dword [esp + 0x28], esi
je 0x4d9584
mov edx, dword [esp + 0x24]
mov dword [esp + 8], edi
add ebx, 2
mov ecx, esi
mov dword [esp], ebp
mov dword [esp + 4], edx
lea edx, [esp + 0x9c]
mov dword [esp + 0x9c], ebx
call sym._byte_compile_range
test eax, eax
je 0x4d7ea6
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, dword [esp + 0x10]
jmp 0x4d6af7
cmp al, 0x2d
jne 0x4d7f03
jmp 0x4d7e4e
cmp dword [esp + 0x28], esi
je 0x4d7c14
lea eax, [ebx + 2]
mov dword [esp + 0x28], eax
mov dword [esp + 0x9c], eax
movzx eax, byte [ebx + 1]
test ebp, ebp
je 0x4d7fed
movzx eax, byte [ebp + eax]
mov edx, eax
mov ecx, eax
mov ebx, 1
mov dword [esp + 0x1c], eax
shr dl, 3
and ecx, 7
movzx edx, dl
shl ebx, cl
or byte [edi + edx], bl
mov ebx, dword [esp + 0x28]
jmp 0x4d7eb5
mov dword [esp + 0x18], esi
mov esi, ebp
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, edx
mov byte [edx], 0x14
sub eax, ebp
mov byte [ebp], 0xe
sub eax, 3
mov word [ebp + 1], ax
lea eax, [edx + 1]
mov dword [esp + 0x10], eax
jmp 0x4d6f66
mov esi, dword [esp + 0x9c]
lea eax, [ebx + 3]
mov dword [esp + 0x18], 0
mov ebp, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], esi
xor esi, esi
mov dword [esp + 0x14], eax
jmp 0x4d6c5e
mov ecx, dword [edi]
mov edx, ebx
mov eax, dword [edi + 4]
sub edx, ecx
add edx, 3
cmp edx, eax
jbe 0x4d8373
mov dword [esp + 0x10], esi
mov esi, ebp
mov ebp, ebx
jmp 0x4d80d9
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d80c7
sub eax, ebx
test esi, esi
lea ebx, [esi + eax]
cmovne esi, ebx
add dword [esp + 0x14], eax
add ebp, eax
add dword [esp + 0x10], eax
mov ebx, ebp
mov eax, dword [edi + 4]
sub ebx, ecx
add ebx, 3
cmp ebx, eax
jbe 0x4d836b
mov ebx, ecx
cmp eax, 0x10000
jne 0x4d8088
jmp 0x4d6af2
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x10]
movzx eax, byte [esp + 0x44]
mov byte [esi + 1], al
mov eax, esi
add eax, 3
mov byte [esi], 6
mov byte [esi + 2], 0
mov dword [esp + 0x10], eax
jmp 0x4d7111
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x9c], edx
jmp 0x4d76f9
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov byte [esp + 0x1c], 0x27
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x80000
jne 0x4d69e5
mov eax, dword [esp + 0x10]
sub eax, ebx
add eax, 1
cmp ecx, eax
jae 0x4d9507
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d81db
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, esi
je 0x4d81c5
sub eax, esi
add dword [esp + 0x10], eax
lea esi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, esi
lea esi, [edi + eax]
test edi, edi
cmovne edi, esi
mov esi, dword [esp + 0x18]
add eax, esi
test esi, esi
cmove eax, esi
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub esi, ecx
add esi, 1
cmp esi, eax
jbe 0x4d9503
mov esi, ecx
cmp eax, 0x10000
jne 0x4d8170
jmp 0x4d6af2
test dword [esp + 0x24], 0x100
je 0x4d7ddd
mov byte [eax + 2], 4
jmp 0x4d7ddd
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 8
jmp 0x4d6af7
mov eax, dword [esp + 0x24]
test ah, 0x20
jne 0x4d8234
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x4d786f
test eax, 0x20000
je 0x4d9354
mov byte [esp + 0x1c], 0x29
jmp case.0x4d6ec5.3
test dword [esp + 0x24], 0x2000
je 0x4d70b5
mov byte [esp + 0x1c], 0x28
jmp case.0x4d6ec5.3
cmp dword [esp + 0x1c], 1
je 0x4d9432
add eax, 0x14
mov dword [esp + 0x18], 0x14
cmp ecx, eax
jb 0x4d82d5
jmp 0x4d938f
lea eax, [ecx + ecx]
mov edx, 0x10000
cmp eax, edx
cmova eax, edx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d82be
mov edx, eax
sub edx, ebx
add dword [esp + 0x10], edx
add dword [esp + 0x14], edx
lea ecx, [ebp + edx]
test ebp, ebp
cmovne ebp, ecx
add edx, esi
test esi, esi
cmovne esi, edx
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 4]
sub edx, eax
add edx, dword [esp + 0x18]
cmp edx, ecx
jbe 0x4d9618
mov ebx, eax
cmp ecx, 0x10000
jne 0x4d8278
jmp 0x4d6af2
mov dword [esp + 0x1c], 0xffffffff
mov eax, 0xffffffff
cmp ebx, dword [esp + 0x20]
jne 0x4d8324
jmp 0x4d8353
cmp eax, 0x7fff
jg 0x4d831a
xor edx, edx
cmp eax, 0xffffffff
je 0x4d8313
lea edx, [eax + eax*4]
add edx, edx
movzx eax, cl
lea eax, [edx + eax - 0x30]
cmp ebx, dword [esp + 0x20]
je 0x4d931f
mov edx, dword [esp + 0x2c]
add ebx, 1
movzx ecx, byte [ebx - 1]
test edx, edx
je 0x4d8337
movzx ecx, byte [edx + ecx]
lea edx, [ecx - 0x30]
cmp dl, 9
jbe 0x4d8300
mov dword [esp + 0x1c], eax
mov dword [esp + 0x9c], ebx
cmp eax, 0xffffffff
jne 0x4d932e
cmp dword [esp + 0x28], 0x7fff
mov dword [esp + 0x1c], 0x7fff
setg al
jmp 0x4d76e5
mov ebx, ebp
mov ebp, esi
mov esi, dword [esp + 0x10]
lea eax, [ebx + 3]
mov dword [esp + 0x10], eax
cmp esi, ebx
je 0x4d839a
mov eax, ebx
mov dword [esp + 4], esi
sub eax, esi
mov dword [esp + 8], eax
mov eax, esi
sub eax, ebx
add eax, dword [esp + 0x10]
mov dword [esp], eax
call sym._memmove
mov eax, 0x313
mov byte [esi + 2], 0
mov word [esi], ax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], eax
jmp 0x4d6c5e
test dword [esp + 0x24], 0x8400
je 0x4d6d5d
mov byte [esp + 0x1c], 0x7c
jmp case.0x4d6ec5.3
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 7
jmp 0x4d6af7
cmp ecx, dword [esp + 0x20]
jae 0x4d737d
test byte [esp + 0x30], 1
je 0x4d737d
mov edx, dword [esp + 0x2c]
movzx eax, byte [ecx]
test edx, edx
je 0x4d9312
movsx eax, byte [edx + eax]
movsx edx, byte [edx + 0xa]
cmp edx, eax
jne 0x4d737d
test byte [esp + 0x24], 0x40
jne 0x4d737d
mov eax, esi
sub eax, dword [esp + 0x10]
mov edx, 0xd
sub eax, 3
mov ecx, eax
movzx eax, ah
jmp 0x4d7395
movsx eax, al
mov edx, 0x2e
jmp 0x4d7375
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov byte [esp + 0x1c], 0x77
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x80000
jne 0x4d69e5
mov esi, dword [esp + 0x10]
mov eax, esi
sub eax, ebx
add eax, 1
cmp ecx, eax
jae 0x4d9309
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d850b
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, esi
je 0x4d84f5
sub eax, esi
add dword [esp + 0x10], eax
lea esi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, esi
lea esi, [edi + eax]
test edi, edi
cmovne edi, esi
mov esi, dword [esp + 0x18]
add eax, esi
test esi, esi
cmove eax, esi
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub esi, ecx
add esi, 1
cmp esi, eax
jbe 0x4d90dd
mov esi, ecx
cmp eax, 0x10000
jne 0x4d84a0
jmp 0x4d6af2
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov byte [esp + 0x1c], 0x62
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x80000
jne 0x4d69e5
mov eax, dword [esp + 0x10]
sub eax, ebx
add eax, 1
cmp eax, ecx
jbe 0x4d948b
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d85cb
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, esi
je 0x4d85b5
sub eax, esi
add dword [esp + 0x10], eax
lea esi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, esi
lea esi, [edi + eax]
test edi, edi
cmovne edi, esi
mov esi, dword [esp + 0x18]
add eax, esi
test esi, esi
cmove eax, esi
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub esi, ecx
add esi, 1
cmp esi, eax
jbe 0x4d9487
mov esi, ecx
cmp eax, 0x10000
jne 0x4d8560
jmp 0x4d6af2
cmp byte [ebx - 1], 0x5e
jne 0x4d7e74
jmp 0x4d7f03
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov byte [esp + 0x1c], 0x57
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x80000
jne 0x4d69e5
mov esi, dword [esp + 0x10]
mov eax, esi
sub eax, ebx
add eax, 1
cmp ecx, eax
jae 0x4d92e0
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d869b
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], edi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, edi
je 0x4d8685
sub eax, edi
add dword [esp + 0x10], eax
lea edi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, edi
lea edi, [esi + eax]
test esi, esi
cmovne esi, edi
mov edi, dword [esp + 0x18]
add eax, edi
test edi, edi
cmove eax, edi
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub edi, ecx
add edi, 1
cmp edi, eax
jbe 0x4d94a6
mov edi, ecx
cmp eax, 0x10000
jne 0x4d8630
jmp 0x4d6af2
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov byte [esp + 0x1c], 0x42
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x80000
jne 0x4d69e5
mov eax, dword [esp + 0x10]
sub eax, ebx
add eax, 1
cmp ecx, eax
jae 0x4d9145
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d875b
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, esi
je 0x4d8745
sub eax, esi
add dword [esp + 0x10], eax
lea esi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, esi
lea esi, [edi + eax]
test edi, edi
cmovne edi, esi
mov esi, dword [esp + 0x18]
add eax, esi
test esi, esi
cmove eax, esi
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub esi, ecx
add esi, 1
cmp esi, eax
jbe 0x4d9141
mov esi, ecx
cmp eax, 0x10000
jne 0x4d86f0
jmp 0x4d6af2
cmp dword [esp + 0x28], esi
je 0x4d9584
lea eax, [ebx + 2]
mov dword [esp + 0x28], eax
mov dword [esp + 0x9c], eax
cmp eax, esi
je 0x4d83d6
xor ebx, ebx
xor ecx, ecx
jmp 0x4d879e
add ebx, 1
mov byte [esp + ecx + 0xa0], al
movzx ecx, bl
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
movzx eax, byte [edx - 1]
test ebp, ebp
je 0x4d87b2
movzx eax, byte [ebp + eax]
cmp al, 0x3a
je 0x4d87cd
cmp edx, esi
je 0x4d90fc
cmp bl, 5
jbe 0x4d878d
mov byte [esp + 0xa0], 0
jmp 0x4d879a
cmp byte [edx], 0x5d
jne 0x4d87b6
lea ebx, [esp + 0xa0]
mov byte [esp + ecx + 0xa0], 0
mov dword [esp], ebx
mov dword [esp + 4], 0x55f984
mov dword [esp + 0x9c], edx
mov dword [esp + 0x8c], edx
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f98a
mov dword [esp + 0x4c], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f990
mov dword [esp + 0x54], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f996
mov dword [esp + 0x58], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f99c
mov dword [esp + 0x5c], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9a2
mov dword [esp + 0x60], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9a8
mov dword [esp + 0x64], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9ae
test eax, eax
sete byte [esp + 0x7e]
mov dword [esp + 0x68], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9b4
mov dword [esp + 0x6c], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9ba
mov dword [esp + 0x70], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9c0
mov dword [esp + 0x74], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9c6
test eax, eax
sete byte [esp + 0x7f]
mov dword [esp + 0x78], eax
call sym._strcmp
cmp dword [esp + 0x54], 0
mov edx, dword [esp + 0x8c]
setne cl
cmp dword [esp + 0x78], 0
mov ebx, eax
mov dword [esp + 0x80], eax
setne al
and eax, ecx
cmp dword [esp + 0x68], 0
setne cl
and ecx, eax
cmp dword [esp + 0x60], 0
setne al
and eax, ecx
cmp dword [esp + 0x4c], 0
setne cl
and ecx, eax
test ebx, ebx
setne al
and eax, ecx
cmp dword [esp + 0x74], 0
setne cl
and ecx, eax
cmp dword [esp + 0x6c], 0
setne al
and eax, ecx
cmp dword [esp + 0x70], 0
setne cl
and ecx, eax
cmp dword [esp + 0x64], 0
setne al
and eax, ecx
cmp dword [esp + 0x5c], 0
setne cl
test al, cl
je 0x4d896f
cmp dword [esp + 0x58], 0
jne 0x4d92ca
cmp edx, esi
je 0x4d9584
mov eax, dword [esp + 0x28]
add eax, 2
mov dword [esp + 0x9c], eax
cmp eax, esi
je 0x4d83d6
xor ebx, ebx
jmp 0x4d8a68
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isprint]
test eax, eax
je 0x4d8af0
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x4d8af0
mov eax, ebx
mov ecx, ebx
mov edx, 1
shr al, 3
and ecx, 7
movzx eax, al
shl edx, cl
or byte [edi + eax], dl
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x4d89e6
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_ispunct]
test eax, eax
jne 0x4d8a28
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x4d89fb
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x4d8a28
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x4d8a10
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
test eax, eax
jne 0x4d8a28
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x4d8a3f
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x4d8a3f
mov eax, ebx
mov ecx, ebx
mov edx, 1
shr al, 3
and ecx, 7
movzx eax, al
shl edx, cl
or byte [edi + eax], dl
test ebp, ebp
je 0x4d8a59
cmp byte [esp + 0x7e], 0
jne 0x4d8b2b
cmp byte [esp + 0x7f], 0
jne 0x4d8b2b
add ebx, 1
cmp ebx, 0x100
je 0x4d92ff
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4d8a7d
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test eax, eax
jne 0x4d8ab9
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x4d8a92
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
jne 0x4d8ab9
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x4d8aa4
cmp ebx, 0x20
je 0x4d8ab9
cmp ebx, 9
je 0x4d8ab9
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x4d8ad0
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_iscntrl]
test eax, eax
je 0x4d8ad0
mov eax, ebx
mov ecx, ebx
mov edx, 1
shr al, 3
and ecx, 7
movzx eax, al
shl edx, cl
or byte [edi + eax], dl
mov ecx, dword [esp + 0x60]
test ecx, ecx
jne 0x4d8ae4
lea eax, [ebx - 0x30]
cmp eax, 9
jbe 0x4d89ba
mov edx, dword [esp + 0x64]
test edx, edx
je 0x4d8998
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x4d8b09
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
jne 0x4d89ba
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x4d89d1
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isprint]
test eax, eax
je 0x4d89d1
jmp 0x4d89ba
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
test eax, eax
jne 0x4d8b49
mov dword [esp], ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
test eax, eax
je 0x4d8a59
mov eax, ebx
mov ecx, ebx
mov edx, 1
shr al, 3
and ecx, 7
movzx eax, al
shl edx, cl
or byte [edi + eax], dl
jmp 0x4d8a59
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov byte [esp + 0x1c], 0x60
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x80000
jne 0x4d69e5
mov eax, dword [esp + 0x10]
sub eax, ebx
add eax, 1
cmp eax, ecx
jbe 0x4d90c2
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d8c1b
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], edi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, edi
je 0x4d8c05
sub eax, edi
add dword [esp + 0x10], eax
lea edi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, edi
lea edi, [esi + eax]
test esi, esi
cmovne esi, edi
mov edi, dword [esp + 0x18]
add eax, edi
test edi, edi
cmove eax, edi
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub edi, ecx
add edi, 1
cmp edi, eax
jbe 0x4d90c0
mov edi, ecx
cmp eax, 0x10000
jne 0x4d8bb0
jmp 0x4d6af2
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov byte [esp + 0x1c], 0x3e
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x80000
jne 0x4d69e5
mov eax, dword [esp + 0x10]
sub eax, ebx
add eax, 1
cmp ecx, eax
jae 0x4d946c
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d8cdb
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, esi
je 0x4d8cc5
sub eax, esi
add dword [esp + 0x10], eax
lea esi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, esi
lea esi, [edi + eax]
test edi, edi
cmovne edi, esi
mov esi, dword [esp + 0x18]
add eax, esi
test esi, esi
cmove eax, esi
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub esi, ecx
add esi, 1
cmp esi, eax
jbe 0x4d9468
mov esi, ecx
cmp eax, 0x10000
jne 0x4d8c70
jmp 0x4d6af2
mov eax, dword [eax + 8]
movzx ecx, byte [esp + 0x44]
sub cl, byte [esp + 0x18]
mov byte [edx + eax], cl
mov edx, dword [esp + 0x10]
mov ebx, dword [edi]
mov eax, dword [edi + 4]
mov byte [esp + 0x1c], cl
sub edx, ebx
add edx, 3
cmp edx, eax
ja 0x4d8d67
jmp 0x4d8d73
mov edx, 0x10000
add eax, eax
cmp eax, edx
cmova eax, edx
mov dword [edi + 4], eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._realloc
mov dword [edi], eax
mov edx, eax
test eax, eax
je 0x4d7a3a
cmp eax, ebx
je 0x4d8d55
sub eax, ebx
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
lea ecx, [ebp + eax]
test ebp, ebp
cmovne ebp, ecx
add eax, esi
test esi, esi
cmovne esi, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 4]
sub ecx, edx
add ecx, 3
cmp ecx, eax
jbe 0x4d8d73
mov ebx, edx
cmp eax, 0x10000
jne 0x4d8d10
jmp 0x4d6af2
mov edx, dword [esp + 0x10]
movzx eax, byte [esp + 0x18]
mov dword [esp + 0x18], 0
mov byte [edx + 1], al
movzx eax, byte [esp + 0x1c]
mov byte [edx], 7
mov byte [edx + 2], al
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x28], eax
lea eax, [edx + 3]
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov ecx, dword [edi + 4]
mov ebx, dword [edi]
mov byte [esp + 0x1c], 0x3c
mov eax, ecx
mov edx, ebx
test dword [esp + 0x24], 0x80000
jne 0x4d69e5
mov eax, dword [esp + 0x10]
sub eax, ebx
add eax, 1
cmp ecx, eax
jae 0x4d905c
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d8e5b
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, esi
je 0x4d8e45
sub eax, esi
add dword [esp + 0x10], eax
lea esi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, esi
lea esi, [edi + eax]
test edi, edi
cmovne edi, esi
mov esi, dword [esp + 0x18]
add eax, esi
test esi, esi
cmove eax, esi
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub esi, ecx
add esi, 1
cmp esi, eax
jbe 0x4d9058
mov esi, ecx
cmp eax, 0x10000
jne 0x4d8df0
jmp 0x4d6af2
cmp dword [esp + 0x28], esi
je 0x4d9584
add ebx, 2
mov dword [esp + 0x9c], ebx
cmp ebx, esi
je 0x4d83d6
mov byte [esp + 0x1c], 0
xor ecx, ecx
lea eax, [ebx + 1]
movzx edx, byte [eax - 1]
test ebp, ebp
je 0x4d8e9a
movzx edx, byte [ebp + edx]
cmp dl, 0x2e
je 0x4d8ed1
cmp eax, esi
je 0x4d9077
movzx ebx, byte [esp + 0x1c]
test bl, bl
js 0x4d8ec5
add ebx, 1
mov byte [esp + ecx + 0xa0], dl
mov byte [esp + 0x1c], bl
movzx ecx, bl
mov ebx, eax
jmp 0x4d8e8a
mov byte [esp + 0xa0], 0
mov ebx, eax
jmp 0x4d8e8a
cmp byte [eax], 0x5d
jne 0x4d8e9f
mov dword [esp + 0x9c], eax
mov byte [esp + ecx + 0xa0], 0
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x4d908b
cmp byte [esp + 0x1c], 1
jne 0x4d9592
cmp eax, esi
je 0x4d9584
mov eax, edx
mov ecx, edx
add ebx, 2
shr al, 3
and ecx, 7
mov dword [esp + 0x9c], ebx
movzx eax, al
mov dword [esp + 0x1c], eax
mov eax, 1
shl eax, cl
mov ecx, eax
mov eax, dword [esp + 0x1c]
or byte [edi + eax], cl
movzx eax, dl
mov dword [esp + 0x1c], eax
jmp 0x4d7f51
cmp dword [esp + 0x28], esi
je 0x4d9584
add ebx, 2
mov dword [esp + 0x9c], ebx
cmp ebx, esi
je 0x4d83d6
mov byte [esp + 0x28], 0
xor ecx, ecx
lea eax, [ebx + 1]
movzx edx, byte [eax - 1]
test ebp, ebp
je 0x4d8f72
movzx edx, byte [ebp + edx]
cmp dl, 0x3d
je 0x4d8faa
cmp eax, esi
je 0x4d9008
movzx ebx, byte [esp + 0x28]
cmp bl, 4
ja 0x4d8f9e
add ebx, 1
mov byte [esp + ecx + 0xa0], dl
mov byte [esp + 0x28], bl
movzx ecx, bl
mov ebx, eax
jmp 0x4d8f62
mov byte [esp + 0xa0], 0
mov ebx, eax
jmp 0x4d8f62
cmp byte [eax], 0x5d
jne 0x4d8f77
mov dword [esp + 0x9c], eax
mov byte [esp + ecx + 0xa0], 0
movzx edx, byte [esp + 0xa0]
test dl, dl
je 0x4d901c
cmp byte [esp + 0x28], 1
jne 0x4d9592
cmp eax, esi
je 0x4d9584
mov eax, edx
and edx, 7
add ebx, 2
mov byte [esp + 0x4c], 1
shr al, 3
mov ecx, edx
mov edx, 1
mov dword [esp + 0x9c], ebx
movzx eax, al
shl edx, cl
or byte [edi + eax], dl
jmp 0x4d7eb5
mov dword [esp + 0x9c], eax
mov byte [esp + ecx + 0xa0], 0
cmp dl, 0x3d
je 0x4d9047
not ecx
mov dword [esp + 0x1c], 0x3d
mov ebx, ecx
mov byte [esp + 0x4c], 0
add ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], ebx
or byte [eax + 0xc], 8
or byte [eax + 8], 0x20
jmp 0x4d7eb5
cmp byte [ebx + 1], 0x5d
jne 0x4d901c
jmp 0x4d8fbe
mov esi, edi
mov edi, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0x1a
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov dword [esp + 0x9c], eax
mov byte [esp + ecx + 0xa0], 0
cmp dl, 0x2e
je 0x4d90b1
not ecx
mov dword [esp + 0x1c], 0x2e
mov ebx, ecx
add ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], ebx
or byte [eax + 0xc], 8
or byte [eax + 6], 0x40
jmp 0x4d7f51
cmp byte [ebx + 1], 0x5d
jne 0x4d908b
jmp 0x4d8ee5
mov edi, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0xb
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov esi, edi
mov edi, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0x18
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov dword [esp + 0x9c], edx
mov byte [esp + ecx + 0xa0], 0
cmp al, 0x3a
je 0x4d9160
mov eax, ecx
mov dword [esp + 0x1c], 0x3a
not eax
mov byte [esp + 0x4c], 0
add eax, edx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x10]
or byte [eax + 0xc], 8
or byte [eax + 8], 4
mov ebx, dword [esp + 0x9c]
jmp 0x4d7eb5
mov esi, edi
mov edi, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0x1d
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov eax, dword [esp + 0x28]
cmp byte [eax + 1], 0x5d
jne 0x4d910f
lea ebx, [esp + 0xa0]
mov dword [esp + 4], 0x55f984
mov dword [esp], ebx
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f98a
mov dword [esp + 0x2c], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f990
mov ebp, eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f996
mov dword [esp + 0x24], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f99c
mov dword [esp + 0x20], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9a2
mov esi, eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9a8
mov dword [esp + 0x1c], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9ae
mov edi, eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9b4
mov dword [esp + 0x10], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9ba
mov dword [esp + 0x18], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9c0
mov dword [esp + 0x14], eax
call sym._strcmp
mov dword [esp], ebx
mov dword [esp + 4], 0x55f9c6
mov dword [esp + 0x28], eax
call sym._strcmp
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
test edx, edx
setne dl
test ebp, ebp
setne bl
and ebx, edx
test edi, edi
setne dl
and edx, ebx
test esi, esi
setne bl
and ebx, edx
test ecx, ecx
setne dl
and edx, ebx
test eax, eax
setne al
and eax, edx
cmp dword [esp + 0x14], 0
setne dl
and eax, edx
cmp dword [esp + 0x10], 0
setne dl
and eax, edx
cmp dword [esp + 0x18], 0
setne dl
and eax, edx
cmp dword [esp + 0x1c], 0
setne dl
and eax, edx
cmp dword [esp + 0x20], 0
setne dl
test al, dl
je 0x4d9584
cmp dword [esp + 0x24], 0
je 0x4d9584
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 4
jmp 0x4d6af7
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0x19
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov byte [esp + 0x4c], 1
jmp 0x4d9135
mov esi, dword [esp + 0x10]
jmp 0x4d90e1
movsx eax, al
mov edx, 0xa
jmp 0x4d8418
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x9c], eax
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x28], edx
setg al
jmp 0x4d76e5
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 0xd
jmp 0x4d6af7
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 0x10
jmp 0x4d6af7
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x9c], eax
setne al
movzx eax, al
add eax, 9
jmp 0x4d6af7
mov eax, 0xa
mov ecx, dword [esp + 0x10]
mov edx, ecx
lea ebx, [ecx + 5]
sub edx, esi
lea edx, [edx + eax - 3]
cmp ecx, esi
je 0x4d93cd
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 4], esi
mov eax, edx
sub eax, esi
mov dword [esp + 8], eax
mov eax, esi
sub eax, edx
add eax, ebx
mov dword [esp], eax
call sym._memmove
mov edx, dword [esp + 0x18]
movzx eax, word [esp + 0x28]
mov word [esi + 1], dx
mov byte [esi], 0x15
mov word [esi + 3], ax
mov eax, dword [esp + 0x10]
lea edx, [eax + 0xa]
cmp ebx, esi
je 0x4d93f6
movzx eax, byte [ebx - 1]
sub ebx, 1
mov byte [ebx + 5], al
cmp ebx, esi
jne 0x4d93e8
mov eax, 0x517
cmp dword [esp + 0x1c], 1
mov byte [esi + 2], 0
mov word [esi], ax
movzx eax, word [esp + 0x28]
mov word [esi + 3], ax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x28], eax
jne 0x4d94ad
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], 0
jmp 0x4d6c5e
add eax, 0xa
mov dword [esp + 0x18], 0xa
cmp ecx, eax
jb 0x4d82d5
mov eax, 5
jmp 0x4d9394
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 0xa
jmp 0x4d6af7
mov esi, edi
mov edi, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0x1b
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov esi, edi
mov edi, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0x1c
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov edi, ebx
jmp 0x4d92e4
mov eax, esi
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
sub eax, edx
add eax, 2
sub ecx, 1
mov byte [ebx + 0xa], 0x16
mov word [ebx + 0xb], ax
lea eax, [ebx + 0xf]
add ebx, 0x14
mov edx, eax
mov word [ebx - 7], cx
sub edx, esi
mov dword [esp + 0x10], ebx
cmp eax, esi
je 0x4d94eb
movzx ebx, byte [eax - 1]
sub eax, 1
mov byte [eax + 5], bl
cmp eax, esi
jne 0x4d94dd
mov byte [esi], 0x17
mov word [esi + 1], dx
mov word [esi + 3], cx
mov dword [esp + 0x18], 0
jmp 0x4d6c5e
mov esi, edi
mov edi, ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov byte [eax], 0xc
add eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 0xb
jmp 0x4d6af7
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x140]
movzx eax, byte [ecx]
test al, al
je 0x4d958e
movzx edx, al
add edx, ecx
jmp 0x4d956f
mov ecx, dword [esp + 0x10]
sub eax, 1
sub edx, 1
mov byte [ecx], al
test al, al
je 0x4d958e
cmp byte [edx], 0
je 0x4d955f
movzx eax, al
add eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov eax, 0xe
jmp 0x4d6af7
xor eax, eax
jmp 0x4d9574
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 3
jmp 0x4d6af7
mov eax, dword [esp + 0x10]
mov edx, eax
lea ebx, [eax + 3]
sub edx, esi
mov dword [esp + 0x18], edx
cmp esi, eax
je 0x4d95e1
mov edx, dword [esp + 0x10]
mov dword [esp + 4], esi
mov eax, edx
sub eax, esi
mov dword [esp + 8], eax
mov eax, esi
sub eax, edx
add eax, ebx
mov dword [esp], eax
call sym._memmove
movzx eax, word [esp + 0x18]
mov byte [esi], 0xd
mov word [esi + 1], ax
jmp 0x4d7bf8
mov eax, dword [esp + 0x24]
and eax, 0x200020
cmp eax, 0x20
je 0x4d933e
test byte [esp + 0x24], 0x10
je 0x4d7b65
mov esi, dword [esp + 0x10]
jmp 0x4d774a
xor eax, eax
cmp dword [esp + 0x1c], 1
setne al
lea eax, [eax + eax*4 + 5]
jmp 0x4d9394
mov esi, dword [esp + 0x10]
mov ebx, dword [edi]
mov ecx, dword [edi + 4]
mov eax, esi
sub eax, ebx
add eax, 2
cmp ecx, eax
jae 0x4d96d3
mov dword [esp + 0x140], edi
mov eax, ecx
mov edi, ebx
mov ebx, dword [esp + 0x140]
jmp 0x4d96c7
mov ecx, 0x10000
add eax, eax
cmp eax, ecx
cmova eax, ecx
mov dword [ebx + 4], eax
mov dword [esp + 4], eax
mov dword [esp], edi
call sym._realloc
mov dword [ebx], eax
mov ecx, eax
test eax, eax
je 0x4d7a3a
cmp eax, edi
je 0x4d96b5
sub eax, edi
add dword [esp + 0x10], eax
lea edi, [ebp + eax]
add dword [esp + 0x14], eax
test ebp, ebp
cmovne ebp, edi
lea edi, [esi + eax]
test esi, esi
cmovne esi, edi
mov edi, dword [esp + 0x18]
add eax, edi
test edi, edi
cmove eax, edi
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
sub edi, ecx
add edi, 2
cmp edi, eax
jbe 0x4d9710
mov edi, ecx
cmp eax, 0x10000
jne 0x4d9660
jmp 0x4d6af2
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx eax, byte [esp + 0x28]
mov byte [edx + 1], al
mov eax, dword [esp + 0x30]
mov byte [edx], 8
mov dword [esp + 0x28], eax
lea eax, [edx + 2]
mov dword [esp + 0x10], eax
jmp 0x4d6c5e
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym._free
mov eax, 6
jmp 0x4d6af7
mov edi, ebx
jmp 0x4d96d7