Function at 0x43c2d0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
add edx, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x178
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0xe8], edx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xe4], eax
push 0x280
call sub.msvcrt.dll_malloc
add esp, 0x10
mov dword [ebp - 0x118], eax
test eax, eax
je 0x43c548
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x120]
and byte [edx + 0x1c], 0x97
mov eax, dword [0x4a5e70]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], 0
mov dword [edx + 0x18], 0
test eax, eax
je 0x43c566
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x118]
mov dword [ebp - 0xb4], ebx
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x43c3a8
mov eax, dword [esi]
test eax, eax
je 0x43d171
push edx
push edx
push 0x20
push eax
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [esi], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
jne 0x43c39e
sub esp, 0xc
mov eax, dword [ebp - 0x118]
mov ebx, 0xc
push eax
call sub.msvcrt.dll_free
add esp, 0x10
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 8]
mov dword [edx + 4], 0x20
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x120]
mov esi, dword [ebp - 0x120]
and ebx, 2
mov ecx, dword [ecx]
and esi, 0x200
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0x20
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x160], esi
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xe8]
je 0x43de88
movzx edi, byte [eax]
lea edx, [eax + 1]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x14], edx
test eax, eax
je 0x43c449
mov eax, edi
mov ecx, dword [ebp - 0xe4]
and eax, 0xff
movzx edi, byte [eax + ecx]
lea eax, [edi - 0xa]
cmp al, 0x72
jbe 0x43c53c
mov esi, dword [ebp - 0xe0]
test esi, esi
je 0x43c47a
mov esi, dword [ebp - 0xe0]
xor eax, eax
mov dl, byte [esi]
mov al, dl
lea esi, [esi + eax + 1]
cmp esi, dword [ebp - 0xac]
je 0x43d188
mov esi, dword [ebp - 0xac]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
sub eax, ebx
add eax, 2
cmp eax, edx
jbe 0x43d078
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43c4be
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
push eax
mov eax, dword [ecx]
push eax
call sub.msvcrt.dll_realloc
mov edx, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edx], eax
je 0x43c548
cmp ebx, eax
je 0x43c480
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43c515
mov ebx, dword [ebp - 0xd4]
add ebx, eax
mov dword [ebp - 0xd4], ebx
test esi, esi
je 0x43c51b
add esi, eax
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43c480
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43c480
and eax, 0xff
jmp dword [eax*4 + 0x4a00c4]
mov ebx, 0xc
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, 0xf
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
push eax
push 0x100
push 0
push 0x4a5e80
call sub.msvcrt.dll_memset
xor ebx, ebx
add esp, 0x10
mov edi, dword [sym.imp.msvcrt.dll___mb_cur_max]
mov esi, dword [sym.imp.msvcrt.dll__pctype]
jmp 0x43c5af
mov eax, dword [esi]
mov ax, word [eax + ebx*2]
and eax, 0x107
test eax, eax
je 0x43c5a6
mov byte [ebx + 0x4a5e80], 1
inc ebx
cmp ebx, 0x100
je 0x43c5c6
cmp dword [edi], 1
je 0x43c590
push eax
push eax
push 0x107
push ebx
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43c59b
mov byte [0x4a5edf], 1
mov dword [0x4a5e70], 1
jmp 0x43c345
test dword [ebp - 0x120], 0x402
jne case.0x43c541.1
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x43dd5b
mov byte [ebp - 0xc9], 0
xor ebx, ebx
mov edx, edi
cmp dl, 0x2b
setne al
or byte [ebp - 0xc9], al
cmp dl, 0x3f
mov edx, dword [ebp - 0x14]
setne al
or ebx, eax
cmp edx, dword [ebp - 0xe8]
je 0x43c66a
lea ecx, [edx + 1]
mov eax, dword [ebp - 0xe4]
movzx edi, byte [edx]
test eax, eax
mov dword [ebp - 0x14], ecx
je 0x43c648
mov eax, edi
mov esi, dword [ebp - 0xe4]
and eax, 0xff
movzx edi, byte [eax + esi]
mov eax, edi
cmp al, 0x2a
je 0x43c603
mov esi, dword [ebp - 0x15c]
test esi, esi
jne 0x43d029
cmp al, 0x2b
je 0x43c603
cmp al, 0x3f
je 0x43c603
lea eax, [ecx - 1]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x43c416
xor edi, edi
test bl, bl
jne 0x43cf57
mov esi, dword [ebp - 0xac]
mov ecx, dword [ebp + 8]
mov eax, esi
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
sub eax, ebx
add eax, 3
cmp eax, edx
jbe 0x43def2
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43c6c2
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
push eax
mov eax, dword [ecx]
push eax
call sub.msvcrt.dll_realloc
mov edx, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edx], eax
je 0x43c548
cmp ebx, eax
je 0x43c688
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
add ecx, eax
mov edx, dword [ebp - 0xd4]
add esi, eax
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43c711
mov ebx, dword [ebp - 0xd4]
add ebx, eax
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x43c729
mov edx, dword [ebp - 0xdc]
add edx, eax
mov dword [ebp - 0xdc], edx
mov ebx, dword [ebp - 0xe0]
test ebx, ebx
je 0x43c688
mov ecx, dword [ebp - 0xe0]
add ecx, eax
mov dword [ebp - 0xe0], ecx
jmp 0x43c688
test dword [ebp - 0x120], 0x2000
je case.0x43c541.1
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x43de60
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xac]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43de33
cmp edx, 0x10000
je 0x43c557
mov esi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [esi + 4], eax
jbe 0x43c7a4
mov dword [esi + 4], 0x10000
push eax
push eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
push eax
mov esi, dword [edi]
push esi
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [edi], eax
test eax, eax
je 0x43c548
cmp ebx, eax
je 0x43c768
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43c7fc
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43c814
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43c768
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43c768
cmp word [ebp - 0x120], 0
jns case.0x43c541.1
test dword [ebp - 0x120], 0x400
jne case.0x43c541.1
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
add eax, 3
cmp eax, edx
jbe 0x43e23b
cmp edx, 0x10000
je 0x43c557
mov ecx, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [ecx + 4], eax
jbe 0x43c891
mov dword [ecx + 4], 0x10000
push eax
push eax
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
push eax
mov edi, dword [esi]
push edi
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [esi], eax
test eax, eax
je 0x43c548
cmp ebx, eax
je 0x43c853
sub eax, ebx
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xd8]
add ecx, eax
add edx, eax
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xd8], edx
test edi, edi
je 0x43c8e9
mov esi, dword [ebp - 0xd4]
add esi, eax
mov dword [ebp - 0xd4], esi
mov ebx, dword [ebp - 0xe0]
test ebx, ebx
je 0x43c853
mov ecx, dword [ebp - 0xe0]
add ecx, eax
mov dword [ebp - 0xe0], ecx
jmp 0x43c853
mov eax, dword [ebp - 0x120]
and eax, 0x1200
cmp eax, 0x1200
jne case.0x43c541.1
mov edi, dword [ebp - 0x14]
cmp dword [ebp - 0xe8], edi
je 0x43dded
mov ecx, edi
mov dword [ebp - 0xc0], 0xffffffff
jmp 0x43c95a
lea edx, [eax + eax*4]
xor eax, eax
mov al, bl
lea edx, [eax + edx*2 - 0x30]
mov dword [ebp - 0xc0], edx
cmp ecx, dword [ebp - 0xe8]
je 0x43dfea
mov bl, byte [ecx]
mov eax, dword [ebp - 0xe4]
inc ecx
test eax, eax
mov dword [ebp - 0x14], ecx
je 0x43c977
xor eax, eax
mov edx, dword [ebp - 0xe4]
mov al, bl
mov bl, byte [eax + edx]
lea eax, [ebx - 0x30]
cmp al, 9
ja 0x43dfea
cmp dword [ebp - 0xc0], 0x7fff
jg 0x43c94e
mov eax, dword [ebp - 0xc0]
test eax, eax
jns 0x43c93d
xor eax, eax
jmp 0x43c93d
mov eax, dword [ebp - 0x11c]
inc eax
cmp edx, eax
je 0x43c9e8
test byte [ebp - 0x120], 8
jne 0x43c9e8
lea eax, [edx - 2]
xor edx, edx
cmp dword [ebp - 0x11c], eax
jae 0x43c9c4
cmp byte [eax - 1], 0x5c
sete dl
mov al, byte [eax]
cmp al, 0x28
je 0x43e3d2
cmp al, 0x7c
jne case.0x43c541.1
cmp word [ebp - 0x120], 0
js 0x43c9e8
test dl, dl
je case.0x43c541.1
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xac]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43de1e
cmp edx, 0x10000
je 0x43c557
mov esi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [esi + 4], eax
jbe 0x43ca24
mov dword [esi + 4], 0x10000
push eax
push eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
push eax
mov esi, dword [edi]
push esi
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [edi], eax
test eax, eax
je 0x43c548
cmp ebx, eax
je 0x43c9e8
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43ca7c
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43ca94
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43c9e8
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43c9e8
cmp dword [ebp - 0xe8], edx
je 0x43e317
movzx edi, byte [edx]
lea eax, [edx + 1]
mov dword [ebp - 0x14], eax
lea eax, [edi - 0x27]
cmp al, 0x55
jbe 0x43d1d4
mov eax, dword [ebp - 0xe4]
test eax, eax
je case.0x43c541.1
mov eax, edi
mov ebx, dword [ebp - 0xe4]
and eax, 0xff
movzx edi, byte [eax + ebx]
jmp case.0x43c541.1
cmp dword [ebp - 0xe8], edx
je 0x43ec3e
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
add eax, 0x22
cmp eax, edx
jbe 0x43db83
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43cb43
mov dword [edx + 4], 0x10000
push edi
push edi
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 4]
push esi
mov ecx, dword [ecx]
push ecx
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43cb05
sub eax, ebx
mov edx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xd8]
add edx, eax
add edi, eax
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xd8], edi
test esi, esi
je 0x43cb9e
mov ebx, dword [ebp - 0xd4]
add ebx, eax
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43cb05
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43cb05
mov ebx, dword [ebp - 0xac]
mov dword [ebp - 0xdc], ebx
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43db6e
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43cc07
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 4]
push edi
mov esi, dword [ecx]
push esi
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43cbcb
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43cc62
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43cc7a
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43cbcb
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43cbcb
cmp dword [ebp - 0xe8], edx
je 0x43ccf3
test byte [ebp - 0x120], 8
jne 0x43ccf3
mov cl, byte [edx]
cmp cl, 0x5c
sete bl
inc edx
cmp dword [ebp - 0xe8], edx
seta al
and eax, 0xff
neg eax
and edx, eax
test dword [ebp - 0x120], 0x2000
je 0x43e333
cmp cl, 0x29
je 0x43ccf3
cmp word [ebp - 0x120], 0
jns 0x43e351
cmp cl, 0x7c
jne case.0x43c541.1
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43dedd
cmp edx, 0x10000
je 0x43c557
mov ecx, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [ecx + 4], eax
jbe 0x43cd2f
mov dword [ecx + 4], 0x10000
push eax
push eax
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
push eax
mov edi, dword [esi]
push edi
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [esi], eax
test eax, eax
je 0x43c548
cmp ebx, eax
je 0x43ccf3
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43cd87
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43cd9f
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43ccf3
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43ccf3
test dword [ebp - 0x120], 0x800
jne 0x43c843
jmp case.0x43c541.1
test dword [ebp - 0x120], 0x2000
je case.0x43c541.1
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x18]
inc edx
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0xbc]
cmp dword [ebp - 0xb8], edx
jne 0x43ce31
lea eax, [edx + edx*4]
push edi
shl eax, 3
push edi
push eax
mov esi, dword [ebp - 0xb4]
push esi
call sub.msvcrt.dll_realloc
add esp, 0x10
test eax, eax
je 0x43c548
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xb4], eax
add ecx, ecx
mov dword [ebp - 0xb8], ecx
mov ebx, dword [ebp - 0xbc]
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xd4]
lea eax, [ebx + ebx*4]
mov edi, dword [edi]
mov ebx, dword [ebp - 0xd8]
sub ebx, edi
lea edx, [esi + eax*4]
mov dword [ebp - 0xd8], ebx
mov eax, dword [ebp - 0xd8]
mov dword [edx], eax
xor eax, eax
test ecx, ecx
je 0x43ce83
mov ecx, edi
mov edi, dword [ebp - 0xd4]
sub edi, ecx
mov dword [ebp - 0xd4], edi
mov ebx, dword [ebp - 0xd4]
lea eax, [ebx + 1]
mov esi, dword [ebp - 0xd0]
mov dword [edx + 4], eax
inc esi
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xd0], esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi]
sub eax, ebx
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0xd0]
mov dword [edx + 0x10], eax
cmp eax, 0xff
ja 0x43db32
mov eax, dword [ebp - 0xac]
mov ecx, dword [esi]
sub eax, ecx
add eax, 2
mov dword [edx + 8], eax
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
add eax, 3
cmp eax, edx
jbe 0x43db13
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43cf05
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 4]
push edi
mov esi, dword [ecx]
push esi
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43cec7
sub eax, ebx
mov ebx, dword [ebp - 0xac]
add ebx, eax
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xac], ebx
test ecx, ecx
je 0x43cec7
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43cec7
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
sub eax, ebx
add eax, 3
cmp eax, edx
jbe 0x43e36f
cmp edx, 0x10000
je 0x43c557
mov edi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [edi + 4], eax
jbe 0x43cf95
mov dword [edi + 4], 0x10000
push edi
push edi
mov eax, dword [ebp + 8]
mov esi, dword [eax + 4]
push esi
mov ecx, dword [eax]
push ecx
call sub.msvcrt.dll_realloc
mov edx, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edx], eax
je 0x43c548
cmp ebx, eax
je 0x43cf57
sub eax, ebx
mov edx, dword [ebp - 0xac]
mov edi, dword [ebp - 0xd8]
add edx, eax
add edi, eax
mov esi, dword [ebp - 0xd4]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xd8], edi
test esi, esi
je 0x43cff0
mov ebx, dword [ebp - 0xd4]
add ebx, eax
mov dword [ebp - 0xd4], ebx
mov ecx, dword [ebp - 0xdc]
test ecx, ecx
je 0x43d008
mov edx, dword [ebp - 0xdc]
add edx, eax
mov dword [ebp - 0xdc], edx
mov edi, dword [ebp - 0xe0]
test edi, edi
je 0x43cf57
mov esi, dword [ebp - 0xe0]
add esi, eax
mov dword [ebp - 0xe0], esi
jmp 0x43cf57
mov eax, edi
cmp al, 0x5c
jne 0x43c664
cmp dword [ebp - 0xe8], ecx
je 0x43e317
lea eax, [edx + 2]
mov cl, byte [edx + 1]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x43d05f
xor eax, eax
mov esi, dword [ebp - 0xe4]
mov al, cl
mov cl, byte [eax + esi]
cmp cl, 0x2b
je 0x43d071
cmp cl, 0x3f
je 0x43d071
mov dword [ebp - 0x14], edx
jmp 0x43c66a
mov edi, ecx
jmp 0x43c603
mov ebx, dword [ebp - 0xac]
mov byte [ebx], 2
mov byte [ebx + 1], 0
mov eax, dword [ebp - 0xac]
add ebx, 2
inc eax
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], esi
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xa4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43daf5
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43d0dd
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
push eax
mov eax, dword [ecx]
push eax
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43d0a1
sub eax, ebx
mov esi, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0xd8]
add esi, eax
add ebx, eax
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xd8], ebx
test ecx, ecx
je 0x43d138
mov edx, dword [ebp - 0xd4]
add edx, eax
mov dword [ebp - 0xd4], edx
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d150
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d0a1
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d0a1
sub esp, 0xc
push 0x20
call sub.msvcrt.dll_malloc
mov edi, dword [ebp + 8]
add esp, 0x10
mov dword [edi], eax
jmp 0x43c374
inc dl
je 0x43d1ed
mov ecx, dword [ebp - 0x14]
mov al, byte [ecx]
cmp al, 0x2a
je 0x43d1ed
cmp al, 0x5e
je 0x43d1ed
mov ebx, dword [ebp - 0x15c]
test ebx, ebx
je 0x43e226
cmp al, 0x5c
je 0x43d1e0
mov edx, dword [ebp - 0x160]
test edx, edx
je 0x43d1c9
test dword [ebp - 0x120], 0x1000
je 0x43e8f3
cmp al, 0x7b
je 0x43d1ed
mov dword [ebp - 0xa4], esi
jmp 0x43d0a1
and eax, 0xff
jmp dword [eax*4 + 0x4a0290]
mov dl, byte [ecx + 1]
cmp dl, 0x2b
je 0x43d1ed
cmp dl, 0x3f
jne 0x43d1ab
mov dword [ebp - 0xac], esi
jmp 0x43c480
test dword [ebp - 0x120], 0x8400
jne case.0x43d1d9.3
jmp 0x43c843
mov eax, dword [ebp - 0x120]
and eax, 0x1200
cmp eax, 0x200
jne case.0x43d1d9.3
jmp 0x43c920
test dword [ebp - 0x120], 0x80000
jne case.0x43c541.1
mov esi, dword [ebp - 0xac]
mov dword [ebp - 0xdc], esi
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43f734
cmp edx, 0x10000
je 0x43c557
mov edi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [edi + 4], eax
jbe 0x43d280
mov dword [edi + 4], 0x10000
push eax
push eax
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
push edi
mov esi, dword [eax]
push esi
call sub.msvcrt.dll_realloc
mov edx, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edx], eax
je 0x43c548
cmp ebx, eax
je 0x43d244
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43d2db
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d2f3
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d244
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d244
test dword [ebp - 0x120], 0x80000
jne case.0x43c541.1
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43f71f
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43d360
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 4]
push edi
mov esi, dword [ecx]
push esi
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43d324
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43d3bb
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d3d3
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d324
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d324
test dword [ebp - 0x120], 0x80000
jne case.0x43c541.1
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43f70a
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43d440
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 4]
push edi
mov esi, dword [ecx]
push esi
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43d404
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43d49b
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d4b3
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d404
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d404
test dword [ebp - 0x120], 0x80000
jne case.0x43c541.1
mov esi, dword [ebp - 0xac]
mov dword [ebp - 0xdc], esi
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43f6f5
cmp edx, 0x10000
je 0x43c557
mov edi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [edi + 4], eax
jbe 0x43d52c
mov dword [edi + 4], 0x10000
push eax
push eax
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
push edi
mov esi, dword [eax]
push esi
call sub.msvcrt.dll_realloc
mov edx, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edx], eax
je 0x43c548
cmp ebx, eax
je 0x43d4f0
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43d587
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d59f
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d4f0
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d4f0
test dword [ebp - 0x120], 0x80000
jne case.0x43c541.1
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43f6a4
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43d60c
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 4]
push edi
mov esi, dword [ecx]
push esi
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43d5d0
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43d667
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d67f
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d5d0
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d5d0
test dword [ebp - 0x120], 0x80000
jne case.0x43c541.1
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43f68f
cmp edx, 0x10000
je 0x43c557
mov ecx, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [ecx + 4], eax
jbe 0x43d6ec
mov dword [ecx + 4], 0x10000
push eax
push eax
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
push eax
mov edi, dword [esi]
push edi
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [esi], eax
test eax, eax
je 0x43c548
cmp ebx, eax
je 0x43d6b0
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43d744
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d75c
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d6b0
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d6b0
test dword [ebp - 0x120], 0x80000
jne case.0x43c541.1
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xac]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43ecab
cmp edx, 0x10000
je 0x43c557
mov esi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [esi + 4], eax
jbe 0x43d7c9
mov dword [esi + 4], 0x10000
push eax
push eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
push eax
mov esi, dword [edi]
push esi
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [edi], eax
test eax, eax
je 0x43c548
cmp ebx, eax
je 0x43d78d
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43d821
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d839
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d78d
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d78d
test dword [ebp - 0x120], 0x4000
jne case.0x43c541.1
lea edx, [edi - 0x30]
xor ebx, ebx
mov bl, dl
mov byte [ebp - 0x16d], dl
cmp dword [ebp - 0xd0], ebx
jb 0x43f6d9
mov ecx, dword [ebp - 0xbc]
dec ecx
js 0x43d8be
lea eax, [ecx + ecx*4]
mov esi, dword [ebp - 0xb4]
cmp ebx, dword [esi + eax*4 + 0x10]
je case.0x43c541.1
mov eax, dword [ebp - 0xbc]
lea eax, [eax + eax*4]
lea edx, [esi + eax*4]
jmp 0x43d8bb
mov eax, dword [edx - 0x18]
sub edx, 0x14
cmp ebx, eax
je case.0x43c541.1
dec ecx
jns 0x43d8ad
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0xdc], edi
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xac]
sub eax, ebx
add eax, 2
cmp eax, edx
jbe 0x43f6b9
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43d908
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 4]
push edi
mov esi, dword [ecx]
push esi
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43d8ca
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43d963
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43d97b
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43d8ca
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43d8ca
mov eax, dword [ebp - 0x15c]
test eax, eax
jne case.0x43c541.32
jmp case.0x43d1d9.3
test dword [ebp - 0x120], 0x2000
jne case.0x43d1d9.3
mov eax, dword [ebp - 0xbc]
test eax, eax
jne 0x43c75a
test dword [ebp - 0x120], 0x20000
jne case.0x43d1d9.3
sub esp, 0xc
mov esi, dword [ebp - 0xb4]
mov ebx, 0x10
push esi
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
test dword [ebp - 0x120], 0x2000
jne case.0x43d1d9.3
jmp 0x43cde5
test dword [ebp - 0x120], 0x80000
jne case.0x43c541.1
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43ec96
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43da61
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 4]
push edi
mov esi, dword [ecx]
push esi
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43da25
sub eax, ebx
mov ecx, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0xac]
add ecx, eax
add ebx, eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ecx
test edx, edx
je 0x43dabc
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43dad4
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43da25
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43da25
mov ecx, dword [ebp - 0xa4]
mov edx, edi
mov byte [ecx], dl
inc ecx
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xac], ecx
inc byte [ebx]
jmp 0x43c416
mov eax, dword [ebp - 0xac]
mov byte [eax], 6
mov dl, byte [ebp - 0xd0]
mov byte [eax + 2], 0
mov byte [eax + 1], dl
add eax, 3
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd4], 0
jmp 0x43c416
mov eax, dword [ebp - 0xac]
mov byte [eax], 3
inc eax
mov dword [ebp - 0xac], eax
jmp 0x43c416
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xdc], eax
lea esi, [eax + 1]
jmp 0x43dc58
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43dbba
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
push eax
mov eax, dword [ecx]
push eax
call sub.msvcrt.dll_realloc
mov edi, dword [ebp + 8]
add esp, 0x10
mov ecx, eax
test eax, eax
mov dword [edi], eax
je 0x43c548
cmp ebx, eax
je 0x43dc50
sub eax, ebx
mov edi, dword [ebp - 0xac]
mov esi, dword [ebp - 0xd8]
add edi, eax
add esi, eax
mov ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xd8], esi
test ebx, ebx
je 0x43dc17
mov edx, dword [ebp - 0xd4]
add edx, eax
mov dword [ebp - 0xd4], edx
mov edi, dword [ebp - 0xdc]
test edi, edi
je 0x43dc2f
mov esi, dword [ebp - 0xdc]
add esi, eax
mov dword [ebp - 0xdc], esi
mov edx, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xe0]
test ebx, ebx
lea esi, [edx + 1]
je 0x43dc50
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 4]
mov ebx, ecx
mov eax, esi
sub eax, ebx
cmp edx, eax
jb 0x43db97
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0xac]
cmp byte [eax], 0x5e
sete al
add eax, 4
mov byte [edi], al
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x150], eax
cmp byte [eax], 0x5e
je 0x43dd4c
mov ebx, esi
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov edx, dword [eax + 4]
mov eax, ebx
sub eax, esi
inc eax
cmp eax, edx
jbe 0x43e5c9
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43dcc4
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
push eax
mov edi, dword [ecx]
push edi
call sub.msvcrt.dll_realloc
mov edi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edi], eax
je 0x43c548
cmp esi, eax
je 0x43dc8c
sub eax, esi
mov esi, dword [ebp - 0xd8]
add esi, eax
mov ecx, dword [ebp - 0xd4]
add ebx, eax
mov dword [ebp - 0xd8], esi
test ecx, ecx
je 0x43dd13
mov edx, dword [ebp - 0xd4]
add edx, eax
mov dword [ebp - 0xd4], edx
mov edi, dword [ebp - 0xdc]
test edi, edi
je 0x43dd2b
mov esi, dword [ebp - 0xdc]
add esi, eax
mov dword [ebp - 0xdc], esi
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43dc8c
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43dc8c
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x150], eax
jmp 0x43dc8a
test byte [ebp - 0x120], 0x20
jne 0x43ecc0
test byte [ebp - 0x120], 0x10
je case.0x43c541.1
jmp 0x43c5fa
or esi, 0xffffffff
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xe8]
je 0x43ddd4
mov bl, byte [eax]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x43dda5
xor eax, eax
mov ecx, dword [ebp - 0xe4]
mov al, bl
mov bl, byte [eax + ecx]
lea eax, [ebx - 0x30]
cmp al, 9
ja 0x43ddd4
cmp esi, 0x7fff
jg 0x43dd7d
mov eax, esi
test esi, esi
js 0x43e910
lea edx, [eax + eax*4]
xor eax, eax
mov al, bl
lea esi, [eax + edx*2 - 0x30]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xe8]
jne 0x43dd88
test esi, esi
js 0x43eb44
cmp esi, dword [ebp - 0xc0]
setl al
test al, al
je 0x43dff9
test dword [ebp - 0x120], 0x200000
je 0x43eb1a
mov edx, dword [ebp - 0x120]
and edx, 0x1000
mov dword [ebp - 0x14], edi
test edx, edx
mov edi, 0x7b
jne case.0x43c541.1
jmp case.0x43d1d9.3
mov edx, dword [ebp - 0xac]
mov byte [edx], 9
inc edx
mov dword [ebp - 0xac], edx
jmp 0x43c416
mov edx, dword [ebp - 0xac]
mov byte [edx], 0x14
inc edx
mov ecx, edx
mov eax, dword [ebp - 0xd4]
sub ecx, eax
mov dword [ebp - 0xac], edx
sub ecx, 4
mov edx, dword [ebp - 0xd4]
mov eax, 0xe
call fcn.0043bdc0
mov edi, dword [ebp - 0xbc]
test edi, edi
jne 0x43e3e7
test dword [ebp - 0x120], 0x20000
je 0x43d9dd
mov edi, 0x29
jmp case.0x43c541.1
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x43deb3
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xac]
sub ecx, eax
mov edx, dword [ebp - 0xd4]
sub ecx, 3
mov eax, 0xe
call fcn.0043bdc0
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x43eb5f
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
mov ebx, 8
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
mov eax, dword [ebp - 0xac]
mov byte [eax], 0xa
inc eax
mov dword [ebp - 0xac], eax
jmp 0x43c416
mov ebx, edi
lea edi, [esi + 3]
cmp bl, 1
mov edx, dword [ebp - 0xdc]
sbb eax, eax
mov dword [ebp - 0xac], edi
mov ecx, esi
push esi
add eax, 0x10
sub ecx, edx
mov edx, dword [ebp - 0xdc]
call fcn.0043bdf0
pop eax
cmp byte [ebp - 0xc9], 0
je 0x43df34
mov dword [ebp - 0xe0], 0
jmp 0x43c416
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ebx
add eax, 3
cmp eax, edx
jbe 0x43e895
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43df72
mov dword [edx + 4], 0x10000
push edi
push edi
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 4]
push esi
mov ecx, dword [ecx]
push ecx
call sub.msvcrt.dll_realloc
mov esi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [esi], eax
je 0x43c548
cmp ebx, eax
je 0x43df34
mov edx, dword [ebp - 0xd4]
sub eax, ebx
test edx, edx
je 0x43dfb1
mov edi, dword [ebp - 0xd4]
add edi, eax
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x43dfc9
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xd8]
add ecx, eax
add edx, eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xd8], edx
jmp 0x43df34
mov esi, dword [ebp - 0xc0]
cmp bl, 0x2c
je 0x43dd7a
mov eax, dword [ebp - 0xc0]
test eax, eax
js 0x43dded
mov edx, dword [ebp - 0x120]
and edx, 0x1000
jne 0x43e04a
cmp bl, 0x5c
jne 0x43dded
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0xe8]
je 0x43dded
mov bl, byte [eax]
mov ecx, dword [ebp - 0xe4]
inc eax
test ecx, ecx
mov dword [ebp - 0x14], eax
je 0x43e04a
xor eax, eax
mov ecx, dword [ebp - 0xe4]
mov al, bl
mov bl, byte [eax + ecx]
cmp bl, 0x7d
jne 0x43dded
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x43e917
cmp esi, 0x7fff
jg 0x43ea0b
test esi, esi
je 0x43e157
cmp esi, 2
setge al
xor ebx, ebx
mov bl, al
dec ebx
and ebx, 0xfffffff6
add ebx, 0x14
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
sub eax, edi
add eax, ebx
cmp eax, edx
jbe 0x43e949
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43e0c3
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
push eax
mov eax, dword [ecx]
push eax
call sub.msvcrt.dll_realloc
mov edx, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edx], eax
je 0x43c548
cmp edi, eax
je 0x43e086
sub eax, edi
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xd8]
add ecx, eax
add edx, eax
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xd8], edx
test edi, edi
je 0x43e11e
mov ecx, dword [ebp - 0xd4]
add ecx, eax
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xdc]
test edx, edx
je 0x43e136
mov edi, dword [ebp - 0xdc]
add edi, eax
mov dword [ebp - 0xdc], edi
mov ecx, dword [ebp - 0xe0]
test ecx, ecx
je 0x43e086
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43e086
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xac]
sub eax, ebx
add eax, 3
cmp eax, edx
jbe 0x43ea90
cmp edx, 0x10000
je 0x43c557
mov esi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [esi + 4], eax
jbe 0x43e195
mov dword [esi + 4], 0x10000
push eax
push eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
push eax
mov eax, dword [edi]
push eax
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [edi], eax
test eax, eax
je 0x43c548
cmp ebx, eax
je 0x43e157
sub eax, ebx
mov edi, dword [ebp - 0xac]
mov esi, dword [ebp - 0xd8]
add edi, eax
add esi, eax
mov ebx, dword [ebp - 0xd4]
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xd8], esi
test ebx, ebx
je 0x43e1ed
mov ecx, dword [ebp - 0xd4]
add ecx, eax
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xdc]
test edx, edx
je 0x43e205
mov edi, dword [ebp - 0xdc]
add edi, eax
mov dword [ebp - 0xdc], edi
mov esi, dword [ebp - 0xe0]
test esi, esi
je 0x43e157
mov ebx, dword [ebp - 0xe0]
add ebx, eax
mov dword [ebp - 0xe0], ebx
jmp 0x43e157
cmp al, 0x2b
je 0x43d1ed
cmp al, 0x3f
jne 0x43d1ab
jmp 0x43d1ed
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
sub ecx, edx
push eax
add ecx, 3
mov eax, 0xf
mov edx, dword [ebp - 0xd8]
call fcn.0043bdf0
mov ebx, dword [ebp - 0xac]
pop eax
mov eax, dword [ebp - 0xd4]
add ebx, 3
test eax, eax
je 0x43e294
mov eax, dword [ebp - 0xd4]
mov ecx, ebx
sub ecx, eax
mov edx, dword [ebp - 0xd4]
sub ecx, 3
mov eax, 0xe
call fcn.0043bdc0
mov dword [ebp - 0xd4], ebx
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov edx, dword [eax + 4]
mov eax, ebx
sub eax, esi
add eax, 3
cmp eax, edx
jbe 0x43e5a1
cmp edx, 0x10000
je 0x43c557
lea eax, [edx + edx]
mov edx, dword [ebp + 8]
cmp eax, 0x10000
mov dword [edx + 4], eax
jbe 0x43e2d4
mov dword [edx + 4], 0x10000
push eax
push eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
push eax
mov edi, dword [ecx]
push edi
call sub.msvcrt.dll_realloc
mov edi, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edi], eax
je 0x43c548
cmp esi, eax
je 0x43e29a
mov ecx, dword [ebp - 0xd4]
sub eax, esi
test ecx, ecx
je 0x43e313
mov edx, dword [ebp - 0xd4]
add edx, eax
mov dword [ebp - 0xd4], edx
add ebx, eax
jmp 0x43e29a
sub esp, 0xc
mov ecx, dword [ebp - 0xb4]
mov ebx, 5
push ecx
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
test bl, bl
je 0x43ccdc
test edx, edx
je 0x43ccdc
cmp byte [edx], 0x29
jne 0x43ccdc
jmp 0x43ccf3
test bl, bl
je case.0x43c541.1
test edx, edx
je case.0x43c541.1
cmp byte [edx], 0x7c
jne case.0x43c541.1
jmp 0x43ccf3
mov ebx, dword [ebp - 0xe4]
test ebx, ebx
je 0x43e590
mov edx, dword [ebp - 0x14]
xor eax, eax
mov ebx, dword [ebp - 0xe4]
mov al, byte [edx - 2]
movsx ecx, byte [eax + ebx]
movsx eax, byte [ebx + 0x2e]
cmp ecx, eax
je 0x43e516
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xdc]
sub ecx, eax
mov edx, dword [ebp - 0xac]
sub ecx, 6
mov eax, 0x12
call fcn.0043bdc0
xor edi, edi
mov eax, dword [ebp - 0xac]
add eax, 3
mov dword [ebp - 0xac], eax
jmp 0x43c682
test dword [ebp - 0x120], 0x2000
jne 0x43c9e8
jmp 0x43c9e0
mov ebx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xb4]
dec ebx
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xbc], ebx
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0xbc]
mov ecx, dword [ebx]
lea eax, [esi + esi*4]
lea eax, [edi + eax*4]
mov edx, dword [eax]
add edx, ecx
mov dword [ebp - 0xd8], edx
mov edx, dword [eax + 4]
test edx, edx
je 0x43e430
lea edx, [ecx + edx - 1]
mov dword [ebp - 0xd4], edx
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
add ebx, ecx
cmp edx, 0xff
mov dword [ebp - 0xdc], ebx
ja 0x43df25
mov bl, byte [ebp - 0xd0]
mov eax, dword [eax + 8]
sub bl, dl
mov esi, edx
mov byte [ebp - 0xe9], bl
mov byte [ecx + eax], bl
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [ecx]
mov edx, dword [ecx + 4]
sub eax, ebx
add eax, 3
cmp eax, edx
jbe 0x43ec5a
cmp edx, 0x10000
je 0x43c557
mov edi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [edi + 4], eax
jbe 0x43e49e
mov dword [edi + 4], 0x10000
push ecx
push ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
push edx
mov edi, dword [eax]
push edi
call sub.msvcrt.dll_realloc
mov edx, dword [ebp + 8]
add esp, 0x10
test eax, eax
mov dword [edx], eax
je 0x43c548
cmp ebx, eax
je 0x43e460
mov ecx, dword [ebp - 0xd4]
sub eax, ebx
test ecx, ecx
je 0x43e4dd
mov edx, dword [ebp - 0xd4]
add edx, eax
mov dword [ebp - 0xd4], edx
mov edi, dword [ebp - 0xdc]
test edi, edi
je 0x43e4f5
mov ebx, dword [ebp - 0xdc]
add ebx, eax
mov dword [ebp - 0xdc], ebx
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0xd8]
add ecx, eax
add edx, eax
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xd8], edx
jmp 0x43e460
cmp byte [ebp - 0xc9], 0
je 0x43e39b
cmp dword [ebp - 0xe8], edx
jbe 0x43e39b
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x43ec89
xor eax, eax
mov esi, dword [ebp - 0xe4]
mov al, byte [edx]
movsx edx, byte [eax + esi]
movsx eax, byte [esi + 0xa]
cmp edx, eax
jne 0x43e39b
test byte [ebp - 0x120], 0x40
jne 0x43e39b
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xdc]
sub ecx, eax
mov edx, dword [ebp - 0xac]
sub ecx, 3
mov eax, 0xd
call fcn.0043bdc0
mov edi, 1
jmp 0x43e3be
mov edx, dword [ebp - 0x14]
mov eax, 0x2e
movsx ecx, byte [edx - 2]
jmp 0x43e393
add ebx, 3
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xdc], 0
jmp 0x43c416
lea edx, [ebx + 1]
xor eax, eax
cld
mov ecx, 8
mov edi, edx
mov byte [ebx], 0x20
mov dword [ebp - 0xa8], edx
rep stosd dword es:[edi], eax
cmp byte [edx - 2], 5
je 0x43f577
mov ecx, dword [ebp - 0x120]
mov ebx, dword [ebp - 0x120]
and ecx, 1
and ebx, 4
xor esi, esi
mov dword [ebp - 0xc8], 0xffffffff
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x158], ebx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0xe8]
je 0x43ec3e
lea ecx, [edx + 1]
mov edi, dword [ebp - 0xe4]
mov bl, byte [edx]
test edi, edi
mov dword [ebp - 0x14], ecx
je 0x43e643
xor eax, eax
mov edi, dword [ebp - 0xe4]
mov al, bl
mov bl, byte [eax + edi]
mov eax, dword [ebp - 0x154]
test eax, eax
je 0x43e652
cmp bl, 0x5c
je 0x43e6c4
cmp bl, 0x5d
je 0x43e8d0
mov eax, esi
test al, al
jne 0x43e800
mov al, byte [ecx]
cmp bl, 0x2d
mov byte [ebp - 0xad], al
je 0x43e819
cmp byte [ebp - 0xad], 0x2d
je 0x43f358
mov eax, dword [ebp - 0x158]
test eax, eax
jne 0x43e71f
mov dl, bl
and ebx, 0xff
shr dl, 3
mov ecx, ebx
and edx, 0xff
and ecx, 7
mov eax, 1
mov edi, dword [ebp - 0xa8]
shl eax, cl
or byte [edx + edi], al
xor esi, esi
mov dword [ebp - 0xc8], ebx
jmp 0x43e615
cmp dword [ebp - 0xe8], ecx
je 0x43e317
lea eax, [edx + 2]
mov cl, byte [edx + 1]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x43e6f0
xor eax, eax
mov edx, dword [ebp - 0xe4]
mov al, cl
mov cl, byte [eax + edx]
xor ebx, ebx
mov dl, cl
mov bl, cl
mov eax, 1
shr dl, 3
mov ecx, ebx
and ecx, 7
and edx, 0xff
shl eax, cl
mov ecx, dword [ebp - 0xa8]
or byte [edx + ecx], al
mov dword [ebp - 0xc8], ebx
jmp 0x43e615
cmp bl, 0x5b
jne 0x43e691
cmp byte [ebp - 0xad], 0x3a
jne 0x43f3b8
cmp dword [ebp - 0xe8], ecx
je 0x43f3ae
lea edx, [ecx + 1]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0xe8], edx
je 0x43ec3e
xor ebx, ebx
jmp 0x43e76f
xor eax, eax
mov al, bl
inc ebx
mov byte [ebp + eax - 0x1b], cl
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0xe8]
je 0x43f3ae
lea esi, [edx + 1]
mov eax, dword [ebp - 0xe4]
mov cl, byte [edx]
test eax, eax
mov dword [ebp - 0x14], esi
je 0x43e78e
xor eax, eax
mov edi, dword [ebp - 0xe4]
mov al, cl
mov cl, byte [eax + edi]
cmp cl, 0x3a
je 0x43e7aa
cmp dword [ebp - 0xe8], esi
je 0x43f397
cmp bl, 5
jbe 0x43e757
mov byte [ebp - 0x1b], 0
jmp 0x43e760
cmp byte [edx + 1], 0x5d
jne 0x43e793
xor eax, eax
mov al, bl
mov byte [ebp + eax - 0x1b], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa0], eax
cmp byte [eax], 0x5d
je 0x43ed1e
cmp bl, 0xff
je 0x43e7df
xor eax, eax
mov edx, dword [ebp - 0x14]
mov al, bl
xor eax, 0xffffffff
add edx, eax
mov dword [ebp - 0x14], edx
mov ebx, dword [ebp - 0xa8]
xor esi, esi
or byte [ebx + 0xb], 8
or byte [ebx + 7], 4
mov dword [ebp - 0xc8], 0x3a
jmp 0x43e615
cmp bl, 0x2d
jne 0x43e665
cmp byte [ecx], 0x5d
jne 0x43ecdc
mov byte [ebp - 0xad], 0x5d
lea eax, [ecx - 2]
cmp dword [ebp - 0x11c], eax
ja 0x43e82e
cmp byte [ecx - 2], 0x5b
je 0x43e676
lea eax, [ecx - 3]
cmp dword [ebp - 0x11c], eax
ja 0x43e843
cmp byte [ecx - 3], 0x5b
je 0x43ecf8
cmp byte [ebp - 0xad], 0x5d
je 0x43e691
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x120]
push eax
mov eax, dword [ebp - 0xe4]
push eax
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xc8]
call fcn.0043be60
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x43ed07
mov dword [ebp - 0xc8], 0xffffffff
jmp 0x43e615
mov eax, dword [ebp - 0xac]
mov ecx, 3
push eax
mov eax, 0x13
mov edx, dword [ebp - 0xdc]
call fcn.0043bdf0
mov eax, dword [ebp - 0xac]
add eax, 3
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xac], eax
pop eax
jmp 0x43c416
mov eax, dword [ebp - 0x150]
inc eax
cmp ecx, eax
jne 0x43ead7
mov eax, dword [ebp - 0x150]
mov al, byte [eax + 1]
mov byte [ebp - 0xad], al
jmp 0x43e676
cmp al, 0x5c
jne 0x43d1c9
cmp byte [ecx + 1], 0x7b
jne 0x43d1c9
jmp 0x43d1ed
xor eax, eax
jmp 0x43ddbe
mov eax, dword [ebp - 0x120]
and eax, 0x200020
cmp eax, 0x20
je 0x43ecc0
test byte [ebp - 0x120], 0x10
je 0x43de09
mov ebx, dword [ebp - 0xac]
mov dword [ebp - 0xdc], ebx
jmp 0x43e061
mov edi, dword [ebp - 0xac]
add edi, 5
cmp esi, 1
jle 0x43ea27
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xdc]
add ebx, 0xa
dec esi
mov ecx, ebx
sub ecx, eax
mov eax, dword [ebp - 0xac]
push eax
sub ecx, 3
mov eax, dword [ebp - 0xc0]
push eax
mov eax, 0x15
mov edx, dword [ebp - 0xdc]
call fcn.0043be20
push edi
mov ecx, dword [ebp - 0xc0]
mov eax, 0x17
push ecx
mov ecx, 5
mov edx, dword [ebp - 0xdc]
call fcn.0043be20
mov ecx, dword [ebp - 0xdc]
sub ecx, ebx
mov edx, ebx
add ecx, 2
mov eax, 0x16
push esi
call fcn.0043bdd0
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xdc]
add eax, 0xf
push eax
mov ecx, eax
push esi
sub ecx, edx
mov eax, 0x17
mov edx, dword [ebp - 0xdc]
call fcn.0043be20
mov eax, dword [ebp - 0xac]
add eax, 0x14
add esp, 0x1c
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xe0], 0
jmp 0x43c416
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
mov ebx, 0xa
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
mov eax, dword [ebp - 0xdc]
mov ecx, edi
sub ecx, eax
mov eax, dword [ebp - 0xac]
push eax
sub ecx, 3
mov esi, dword [ebp - 0xc0]
mov eax, 0x15
push esi
mov edx, dword [ebp - 0xdc]
call fcn.0043be20
push edi
mov ebx, dword [ebp - 0xc0]
mov ecx, 5
push ebx
mov eax, 0x17
mov edx, dword [ebp - 0xdc]
call fcn.0043be20
mov ecx, dword [ebp - 0xac]
add ecx, 0xa
add esp, 0x10
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xe0], 0
jmp 0x43c416
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
add ecx, 3
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0xac]
push eax
sub ecx, edx
mov eax, 0xd
sub ecx, 3
mov edx, dword [ebp - 0xdc]
call fcn.0043bdf0
mov dword [ebp - 0xe0], 0
pop eax
jmp 0x43c416
mov ebx, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xa8]
dec ecx
mov al, byte [ebx - 1]
test al, al
je 0x43eb5b
xor edx, edx
mov dl, al
cmp byte [ebx + edx - 1], 0
jne 0x43eb07
dec eax
mov byte [ecx], al
test al, al
je 0x43eb5b
xor edx, edx
mov dl, al
cmp byte [ecx + edx], 0
je 0x43eaf6
mov ebx, dword [ebp - 0xa8]
add edx, ebx
mov dword [ebp - 0xac], edx
jmp 0x43c416
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
push eax
call sub.msvcrt.dll_free
mov ebx, dword [ebp - 0xe8]
add esp, 0x10
cmp dword [ebp - 0x14], ebx
setne al
xor ebx, ebx
mov bl, al
add ebx, 9
jmp 0x43c394
cmp dword [ebp - 0xc0], 0x7fff
mov esi, 0x7fff
setg al
jmp 0x43dde5
xor edx, edx
jmp 0x43eb07
test dword [ebp - 0x120], 0x40000
je 0x43ec06
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xac]
sub eax, ebx
inc eax
cmp eax, edx
jbe 0x43ebf6
cmp edx, 0x10000
je 0x43c557
mov esi, dword [ebp + 8]
lea eax, [edx + edx]
cmp eax, 0x10000
mov dword [esi + 4], eax
jbe 0x43eba7
mov dword [esi + 4], 0x10000
push eax
push eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
push eax
mov esi, dword [edi]
push esi
call sub.msvcrt.dll_realloc
add esp, 0x10
mov dword [edi], eax
test eax, eax
je 0x43c548
cmp ebx, eax
je 0x43eb6f
sub eax, ebx
mov ebx, dword [ebp - 0xac]
add ebx, eax
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xac], ebx
test ecx, ecx
je 0x43eb6f
mov edx, dword [ebp - 0xe0]
add edx, eax
mov dword [ebp - 0xe0], edx
jmp 0x43eb6f
mov edx, dword [ebp - 0xac]
mov byte [edx], 1
inc edx
mov dword [ebp - 0xac], edx
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
push eax
call sub.msvcrt.dll_free
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xac]
mov ebx, dword [ebp + 8]
add esp, 0x10
mov ecx, dword [ecx]
sub eax, ecx
mov dword [ebp - 0xac], eax
mov esi, dword [ebp - 0xac]
mov dword [ebx + 8], esi
xor ebx, ebx
jmp 0x43c394
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
mov ebx, 7
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
mov ebx, dword [ebp - 0xac]
mov eax, esi
mov byte [ebx], 7
mov byte [ebx + 1], al
mov dl, byte [ebp - 0xe9]
mov byte [ebx + 2], dl
add ebx, 3
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xe0], 0
jmp 0x43c416
movsx edx, byte [edx]
mov eax, 0xa
jmp 0x43e54f
mov eax, dword [ebp - 0xac]
mov byte [eax], 0xc
inc eax
mov dword [ebp - 0xac], eax
jmp 0x43c416
mov edx, dword [ebp - 0xac]
mov byte [edx], 0x1a
inc edx
mov dword [ebp - 0xac], edx
jmp 0x43c416
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
mov ebx, 0xd
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
mov ebx, 0xb
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
cmp byte [ecx - 2], 0x5e
jne 0x43e843
jmp 0x43e676
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
cld
lea edx, [ebp - 0x1b]
mov edi, str.alnum
mov dword [ebp - 0x16c], edx
mov esi, edx
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov esi, dword [ebp - 0x16c]
movsx eax, dl
mov dword [ebp - 0x114], eax
mov edi, str.alpha
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov esi, dword [ebp - 0x16c]
movsx eax, dl
mov dword [ebp - 0x110], eax
mov edi, str.blank
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov esi, dword [ebp - 0x16c]
movsx eax, dl
mov dword [ebp - 0x10c], eax
mov edi, str.cntrl
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov esi, dword [ebp - 0x16c]
movsx eax, dl
mov dword [ebp - 0x108], eax
mov edi, str.digit
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov esi, dword [ebp - 0x16c]
movsx eax, dl
mov dword [ebp - 0x104], eax
mov edi, str.graph
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov esi, dword [ebp - 0x16c]
movsx eax, dl
mov dword [ebp - 0x100], eax
mov edi, str.lower
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
mov bl, dl
mov esi, dword [ebp - 0x16c]
sub bl, al
mov edi, str.print
mov ecx, 6
movsx ebx, bl
test ebx, ebx
sete byte [ebp - 0xc2]
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov esi, dword [ebp - 0x16c]
movsx eax, dl
mov dword [ebp - 0xfc], eax
mov edi, str.punct
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov edi, str.space
movsx eax, dl
mov dword [ebp - 0xf8], eax
mov ecx, 6
mov esi, dword [ebp - 0x16c]
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov edi, str.upper
movsx eax, dl
mov dword [ebp - 0xf4], eax
mov ecx, 6
mov esi, dword [ebp - 0x16c]
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov edi, str.xdigit
movsx eax, dl
test eax, eax
mov dword [ebp - 0x164], eax
mov eax, 7
mov esi, dword [ebp - 0x16c]
mov ecx, eax
sete byte [ebp - 0xc1]
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub dl, al
mov edi, dword [ebp - 0x110]
movsx eax, dl
mov dword [ebp - 0xf0], eax
test edi, edi
jne 0x43f2ae
mov edx, dword [ebp - 0xa0]
cmp dword [ebp - 0xe8], edx
je 0x43f3ae
mov eax, edx
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xe8], eax
je 0x43ec3e
xor esi, esi
xor ebx, ebx
jmp 0x43f1d3
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 0x107
test eax, eax
jne 0x43ef93
mov eax, dword [ebp - 0x110]
test eax, eax
jne 0x43ef53
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
jne 0x43f299
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 0x103
test eax, eax
jne 0x43ef93
mov eax, dword [ebp - 0x10c]
test eax, eax
jne 0x43ef67
cmp esi, 0x20
je 0x43ef93
cmp esi, 9
je 0x43ef93
mov edi, dword [ebp - 0x108]
test edi, edi
jne 0x43efb3
mov ecx, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [ecx], 1
jne 0x43f656
mov edi, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [edi]
mov ax, word [ebx + eax]
and eax, 0x20
test eax, eax
je 0x43efb3
mov ecx, esi
mov edx, esi
and ecx, 7
mov eax, 1
shr dl, 3
shl eax, cl
and edx, 0xff
mov ecx, dword [ebp - 0xa8]
or byte [edx + ecx], al
mov edx, dword [ebp - 0x104]
test edx, edx
jne 0x43efc9
lea eax, [esi - 0x30]
cmp eax, 9
jbe 0x43f066
mov eax, dword [ebp - 0x100]
test eax, eax
jne 0x43f011
mov edi, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [edi], 1
jne 0x43f67a
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 0x157
test eax, eax
je 0x43f011
cmp dword [edi], 1
jne 0x43f668
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [eax + ebx]
and eax, 8
test eax, eax
je 0x43f066
cmp byte [ebp - 0xc2], 0
je 0x43f03a
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
jne 0x43f644
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 2
test eax, eax
jne 0x43f066
mov eax, dword [ebp - 0xfc]
test eax, eax
jne 0x43f086
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
jne 0x43f61d
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [eax + ebx]
and eax, 0x157
test eax, eax
je 0x43f086
mov edx, esi
mov ecx, esi
shr dl, 3
and ecx, 7
and edx, 0xff
mov eax, 1
mov edi, dword [ebp - 0xa8]
shl eax, cl
or byte [edx + edi], al
mov edi, dword [ebp - 0xf8]
test edi, edi
jne 0x43f0b0
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
jne 0x43f60b
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 0x10
test eax, eax
jne 0x43f12f
mov edx, dword [ebp - 0xf4]
test edx, edx
jne 0x43f0da
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
jne 0x43f632
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 8
test eax, eax
jne 0x43f12f
cmp byte [ebp - 0xc1], 0
je 0x43f103
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
jne 0x43f5f9
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 1
test eax, eax
jne 0x43f12f
mov eax, dword [ebp - 0xf0]
test eax, eax
jne 0x43f14f
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
jne 0x43f272
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 0x80
test eax, eax
je 0x43f14f
mov ecx, esi
mov edx, esi
and ecx, 7
mov eax, 1
shr dl, 3
shl eax, cl
and edx, 0xff
mov ecx, dword [ebp - 0xa8]
or byte [edx + ecx], al
mov eax, dword [ebp - 0xe4]
test eax, eax
je 0x43f1c3
mov al, byte [ebp - 0xc1]
or al, byte [ebp - 0xc2]
je 0x43f1c3
mov edi, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [edi], 1
jne 0x43f260
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 1
test eax, eax
jne 0x43f1a3
cmp dword [edi], 1
jne 0x43f287
mov eax, dword [sym.imp.msvcrt.dll__pctype]
mov eax, dword [eax]
mov ax, word [ebx + eax]
and eax, 2
test eax, eax
je 0x43f1c3
mov ecx, esi
mov edx, esi
and ecx, 7
mov eax, 1
shr dl, 3
shl eax, cl
and edx, 0xff
mov ecx, dword [ebp - 0xa8]
or byte [edx + ecx], al
inc esi
add ebx, 2
cmp esi, 0x100
je 0x43f256
mov eax, dword [ebp - 0x114]
test eax, eax
jne 0x43ef27
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
cmp dword [eax], 1
je 0x43ef13
push eax
push eax
push 0x107
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43ef23
mov edi, dword [ebp - 0xe8]
cmp byte [edi], 0x5d
jne 0x43f5b0
mov cl, byte [ebp - 0xf]
test cl, cl
je 0x43f5b0
dec dl
jne 0x43f55b
cmp dword [ebp - 0xe8], ebx
je 0x43f3ae
lea eax, [ebx + 1]
mov dl, cl
mov dword [ebp - 0x14], eax
and ecx, 7
shr dl, 3
mov eax, 1
shl eax, cl
and edx, 0xff
mov ecx, dword [ebp - 0xa8]
or byte [edx + ecx], al
mov esi, 1
jmp 0x43e615
push eax
push eax
push 1
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f184
push eax
push eax
push pe_nt_image_headers32
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f12b
push ecx
push ecx
push 2
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f19f
push eax
push eax
push 0x103
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43ef4f
mov esi, dword [ebp - 0x164]
test esi, esi
je 0x43eee6
test ebx, ebx
je 0x43eee6
mov ecx, dword [ebp - 0x104]
test ecx, ecx
je 0x43eee6
mov edx, dword [ebp - 0x114]
test edx, edx
je 0x43eee6
test eax, eax
je 0x43eee6
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x43eee6
mov edi, dword [ebp - 0xfc]
test edi, edi
je 0x43eee6
mov esi, dword [ebp - 0xf8]
test esi, esi
je 0x43eee6
mov ebx, dword [ebp - 0x100]
test ebx, ebx
je 0x43eee6
mov ecx, dword [ebp - 0x108]
test ecx, ecx
je 0x43eee6
mov edx, dword [ebp - 0x10c]
test edx, edx
je 0x43eee6
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
mov ebx, 4
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
lea eax, [ecx + 1]
cmp byte [ecx + 1], 0x5d
je 0x43e683
cmp dword [ebp - 0xe8], ecx
je 0x43f3ae
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x14], eax
push edi
xor eax, eax
mov al, bl
mov ebx, dword [ebp - 0x120]
push ebx
lea edx, [ebp - 0x14]
mov ecx, dword [ebp - 0xe4]
push ecx
mov ecx, dword [ebp - 0xe8]
jmp 0x43e874
xor eax, eax
cmp cl, 0x3a
mov al, bl
mov byte [ebp + eax - 0x1b], 0
jne 0x43e7cb
jmp 0x43e7b9
mov ebx, 0xe
jmp 0x43c394
cmp byte [ebp - 0xad], 0x3d
jne 0x43f422
cmp dword [ebp - 0xe8], ecx
je 0x43f3ae
lea eax, [ecx + 1]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xe8], eax
je 0x43ec3e
lea ebx, [edx + 3]
xor edx, edx
mov eax, dword [ebp - 0xe4]
mov cl, byte [ebx - 1]
test eax, eax
mov dword [ebp - 0x14], ebx
je 0x43f3fd
xor eax, eax
mov esi, dword [ebp - 0xe4]
mov al, cl
mov cl, byte [eax + esi]
cmp cl, 0x3d
je 0x43f5e2
cmp ebx, dword [ebp - 0xe8]
je 0x43f59e
cmp dl, 1
jbe 0x43f590
mov byte [ebp - 0xf], 0
inc ebx
jmp 0x43f3e0
cmp byte [ebp - 0xad], 0x2e
jne 0x43e691
cmp dword [ebp - 0xe8], ecx
je 0x43f3ae
lea eax, [ecx + 1]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xe8], eax
je 0x43ec3e
lea ebx, [edx + 3]
xor edx, edx
mov edi, dword [ebp - 0xe4]
mov cl, byte [ebx - 1]
test edi, edi
mov dword [ebp - 0x14], ebx
je 0x43f46f
xor eax, eax
mov esi, dword [ebp - 0xe4]
mov al, cl
mov cl, byte [eax + esi]
cmp cl, 0x2e
je 0x43f493
cmp ebx, dword [ebp - 0xe8]
je 0x43f508
test dl, dl
js 0x43f4fb
xor eax, eax
inc ebx
mov al, dl
inc edx
mov byte [ebp + eax - 0x9b], cl
jmp 0x43f452
cmp byte [ebx], 0x5d
jne 0x43f474
xor eax, eax
mov al, dl
mov byte [ebp + eax - 0x9b], 0
mov cl, byte [ebp - 0x9b]
test cl, cl
je 0x43f519
dec dl
jne 0x43f55b
cmp dword [ebp - 0xe8], ebx
je 0x43f3ae
lea eax, [ebx + 1]
mov dl, cl
mov dword [ebp - 0x14], eax
and ecx, 7
shr dl, 3
mov eax, 1
shl eax, cl
and edx, 0xff
mov ecx, dword [ebp - 0xa8]
xor ebx, ebx
xor esi, esi
or byte [edx + ecx], al
mov bl, byte [ebp - 0x9b]
mov dword [ebp - 0xc8], ebx
jmp 0x43e615
inc ebx
mov byte [ebp - 0x9b], 0
jmp 0x43f452
xor eax, eax
cmp cl, 0x2e
mov al, dl
mov byte [ebp + eax - 0x9b], 0
je 0x43f54b
cmp dl, 0xff
je 0x43f52c
lea eax, [ebx - 1]
and edx, 0xff
sub eax, edx
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0xa8]
or byte [esi + 0xb], 8
or byte [esi + 5], 0x40
xor esi, esi
mov dword [ebp - 0xc8], 0x2e
jmp 0x43e615
mov edi, dword [ebp - 0xe8]
cmp byte [edi], 0x5d
jne 0x43f519
jmp 0x43f4a4
sub esp, 0xc
mov esi, dword [ebp - 0xb4]
mov ebx, 3
push esi
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
test dword [ebp - 0x120], 0x100
je 0x43e5eb
or byte [ebx + 2], 4
jmp 0x43e5eb
xor eax, eax
mov al, dl
inc edx
mov byte [ebp + eax - 0xf], cl
jmp 0x43f41f
xor eax, eax
cmp cl, 0x3d
mov al, dl
mov byte [ebp + eax - 0xf], 0
je 0x43f204
cmp dl, 0xff
je 0x43f5c3
lea eax, [ebx - 1]
and edx, 0xff
sub eax, edx
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0xa8]
xor esi, esi
or byte [ebx + 0xb], 8
or byte [ebx + 7], 0x20
mov dword [ebp - 0xc8], 0x3d
jmp 0x43e615
cmp byte [ebx], 0x5d
jne 0x43f406
xor eax, eax
mov al, dl
mov byte [ebp + eax - 0xf], 0
jmp 0x43f213
push eax
push eax
push 1
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f0ff
push ecx
push ecx
push 0x10
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f0ac
push eax
push eax
push 0x157
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f062
push eax
push eax
push 8
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f0d6
push eax
push eax
push 2
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f036
push ecx
push ecx
push 0x20
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43ef8f
push eax
push eax
push 8
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43f00d
push eax
push eax
push 0x157
push esi
call sub.msvcrt.dll__isctype
add esp, 0x10
jmp 0x43eff2
mov eax, dword [ebp - 0xac]
mov byte [eax], 0x1b
inc eax
mov dword [ebp - 0xac], eax
jmp 0x43c416
mov eax, dword [ebp - 0xac]
mov byte [eax], 0x1d
inc eax
mov dword [ebp - 0xac], eax
jmp 0x43c416
mov edx, dword [ebp - 0xac]
mov byte [edx], 8
mov cl, byte [ebp - 0x16d]
mov byte [edx + 1], cl
add edx, 2
mov dword [ebp - 0xac], edx
jmp 0x43c416
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
mov ebx, 6
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x43c394
mov ebx, dword [ebp - 0xac]
mov byte [ebx], 0x19
inc ebx
mov dword [ebp - 0xac], ebx
jmp 0x43c416
mov eax, dword [ebp - 0xac]
mov byte [eax], 0xb
inc eax
mov dword [ebp - 0xac], eax
jmp 0x43c416
mov eax, dword [ebp - 0xac]
mov byte [eax], 0x1c
inc eax
mov dword [ebp - 0xac], eax
jmp 0x43c416
mov ebx, dword [ebp - 0xac]
mov byte [ebx], 0x18
inc ebx
mov dword [ebp - 0xac], ebx
jmp 0x43c416