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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, eax
add esi, edx
push ebx
sub esp, 0x25c
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1f4], esi
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1f8], eax
xor eax, eax
mov dword [ebp - 0x1fc], eax
xor eax, eax
mov dword [ebp - 0x200], eax
xor eax, eax
mov dword [ebp - 0x208], eax
xor eax, eax
mov dword [ebp - 0x20c], eax
mov dword [esp], 0x280
call sub.cygwin1.dll_malloc
mov dword [ebp - 0x28], eax
mov ebx, eax
test ebx, ebx
mov eax, 0xc
je 0x403ebb
mov dword [ebp - 0x24], 0x20
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x20], 0
and byte [edx + 0x1c], 0x97
mov dword [edx + 0xc], ecx
mov dword [edx + 8], 0
mov eax, dword [0x40e180]
mov dword [edx + 0x18], 0
test eax, eax
je 0x403f05
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x403b24
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x1f0], ecx
mov esi, dword [ebp - 0x1cc]
cmp esi, dword [ebp - 0x1f4]
mov dword [ebp - 0x204], ecx
je 0x403dbb
cmp esi, dword [ebp - 0x1f4]
mov eax, esi
je 0x40458d
lea edx, [esi + 1]
mov edi, dword [ebp - 0x1f8]
mov esi, edx
mov dword [ebp - 0x1cc], edx
test edi, edi
movzx eax, byte [eax]
mov byte [ebp - 0x1e8], al
je 0x403b0e
mov ecx, dword [ebp - 0x1f8]
movzx eax, al
movzx eax, byte [eax + ecx]
mov byte [ebp - 0x1e8], al
movzx eax, byte [ebp - 0x1e8]
sub eax, 0xa
cmp eax, 0x72
ja case.0x403b1d.11
jmp dword [eax*4 + 0x40d2f0]
mov eax, dword [ebx]
test eax, eax
je 0x403f5d
mov dword [esp], eax
mov edx, 0x20
mov dword [esp + 4], edx
call sub.cygwin1.dll_realloc
mov dword [ebx], eax
mov ecx, eax
test ecx, ecx
je 0x405ac6
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x20
jmp 0x403ab1
test dword [ebp + 8], 0x2000
jne case.0x4046a2.42
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x4040d4
test dword [ebp + 8], 0x20000
je 0x4041e3
mov edi, dword [ebp - 0x1f8]
test edi, edi
je case.0x403b1d.11
movzx eax, byte [ebp - 0x1e8]
mov edx, dword [ebp - 0x1f8]
movzx eax, byte [eax + edx]
mov byte [ebp - 0x1e8], al
mov esi, dword [ebp - 0x1fc]
test esi, esi
je 0x403bc2
mov ecx, dword [ebp - 0x1fc]
movzx edx, byte [ecx]
movzx eax, dl
lea eax, [eax + ecx + 1]
cmp eax, dword [ebp - 0x1f0]
je 0x404bd3
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ebx, dword [ebp - 0x1f0]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebp - 0x200], ebx
sub eax, ecx
mov ebx, ecx
add eax, 2
cmp eax, edx
jbe 0x403c8a
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x403ec6
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x403c6f
sub eax, ebx
mov ebx, dword [ebp - 0x208]
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test ebx, ebx
je 0x403c4f
add dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x200]
test edx, edx
je 0x403c5f
add dword [ebp - 0x200], eax
mov edi, dword [ebp - 0x1fc]
test edi, edi
je 0x403c6f
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
add eax, 2
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x403beb
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 2
inc eax
mov byte [eax], 0
inc eax
mov dword [ebp - 0x1f0], eax
dec eax
mov dword [ebp - 0x1fc], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
cmp eax, edx
jbe 0x403d5d
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x403efa
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x403d44
mov esi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test esi, esi
je 0x403d24
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x403d34
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x403d44
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
inc eax
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x403cc0
movzx eax, byte [ebp - 0x1e8]
mov edx, dword [ebp - 0x1f0]
mov byte [edx], al
mov ecx, dword [ebp - 0x1fc]
inc edx
mov dword [ebp - 0x1f0], edx
inc byte [ecx]
mov esi, dword [ebp - 0x1cc]
cmp esi, dword [ebp - 0x1f4]
jne 0x403acf
mov eax, dword [ebp - 0x208]
test eax, eax
je 0x403dbb
mov eax, dword [ebp - 0x1f0]
mov edi, dword [ebp - 0x208]
sub eax, edi
sub eax, 3
mov dword [esp], eax
mov edx, dword [ebp - 0x208]
mov eax, 0xe
call fcn.00403870
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x405a08
test dword [ebp + 8], 0x40000
je 0x403e97
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ebx, dword [esi]
mov edx, dword [esi + 4]
sub eax, ebx
mov ecx, ebx
inc eax
cmp eax, edx
jbe 0x403e87
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x404bc8
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x403e6e
mov edx, eax
sub edx, ebx
mov ebx, dword [ebp - 0x208]
add dword [ebp - 0x1f0], edx
test ebx, ebx
je 0x403e4e
add dword [ebp - 0x208], edx
mov edi, dword [ebp - 0x200]
test edi, edi
je 0x403e5e
add dword [ebp - 0x200], edx
mov esi, dword [ebp - 0x1fc]
test esi, esi
je 0x403e6e
add dword [ebp - 0x1fc], edx
mov ebx, eax
mov eax, dword [ebp - 0x1f0]
mov edi, dword [ebp + 0xc]
sub eax, ebx
inc eax
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x403dee
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 1
inc eax
mov dword [ebp - 0x1f0], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov edx, dword [ebp + 0xc]
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [edx]
sub dword [ebp - 0x1f0], edx
mov ebx, dword [ebp - 0x1f0]
mov dword [ecx + 8], ebx
add esp, 0x25c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov dword [edx + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
jne 0x403c2d
mov eax, 0xc
add esp, 0x25c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x403ce4
mov dword [esp], 0x40e190
mov edi, 0x100
xor esi, esi
mov dword [esp + 8], edi
mov dword [esp + 4], esi
call sub.cygwin1.dll_memset
mov edx, dword [sym.imp.cygwin1.dll__ctype_]
xor eax, eax
nop
lea esi, [esi]
test byte [edx + eax + 1], 7
je 0x403f3e
mov byte [eax + 0x40e190], 1
inc eax
cmp eax, 0xff
jle 0x403f30
mov byte [0x40e1ef], 1
mov ebx, 1
mov dword [0x40e180], ebx
jmp 0x403aa2
mov dword [esp], 0x20
call sub.cygwin1.dll_malloc
mov esi, dword [ebp + 0xc]
mov ecx, eax
mov dword [esi], eax
jmp 0x403b43
test byte [ebp + 8], 2
jne case.0x403b1d.11
test dword [ebp + 8], 0x400
jne case.0x403b1d.11
mov ecx, dword [ebp - 0x200]
test ecx, ecx
je 0x4055e2
mov byte [ebp - 0x20d], 0
mov edx, dword [ebp + 8]
mov byte [ebp - 0x20e], 0
mov byte [ebp - 0x20f], 0
shr edx, 1
and edx, 1
mov dword [ebp - 0x214], edx
cmp byte [ebp - 0x1e8], 0x2b
movsx eax, byte [ebp - 0x20e]
setne byte [ebp - 0x20e]
or byte [ebp - 0x20e], al
cmp byte [ebp - 0x1e8], 0x3f
movsx eax, byte [ebp - 0x20f]
setne byte [ebp - 0x20f]
or byte [ebp - 0x20f], al
mov eax, esi
cmp esi, dword [ebp - 0x1f4]
je 0x404f28
lea ecx, [esi + 1]
mov edx, dword [ebp - 0x1f8]
mov esi, ecx
mov dword [ebp - 0x1cc], ecx
test edx, edx
movzx eax, byte [eax]
mov byte [ebp - 0x1e8], al
je 0x404032
mov ebx, dword [ebp - 0x1f8]
movzx eax, al
movzx eax, byte [eax + ebx]
mov byte [ebp - 0x1e8], al
cmp byte [ebp - 0x1e8], 0x2a
je 0x403fbd
test byte [ebp + 8], 2
jne 0x40405f
cmp byte [ebp - 0x1e8], 0x2b
sete al
cmp byte [ebp - 0x1e8], 0x3f
sete dl
or eax, edx
test al, 1
jne 0x403fbd
cmp byte [ebp - 0x1e8], 0x5c
sete al
test dword [ebp - 0x214], eax
je 0x404f21
cmp esi, dword [ebp - 0x1f4]
je 0x405603
mov eax, dword [ebp - 0x1f8]
lea edi, [esi + 1]
mov esi, edi
mov dword [ebp - 0x1cc], edi
test eax, eax
movzx ebx, byte [ecx]
je 0x4040a6
mov edx, dword [ebp - 0x1f8]
movzx eax, bl
movzx ebx, byte [eax + edx]
cmp bl, 0x2b
setne al
xor edx, edx
cmp bl, 0x3f
setne dl
test eax, edx
jne 0x4055fb
mov byte [ebp - 0x1e8], bl
jmp 0x403fbd
test dword [ebp + 8], 0x2000
je case.0x403b1d.11
mov eax, dword [ebp - 0x208]
test eax, eax
je 0x4041cb
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
sub eax, ecx
inc eax
mov ebx, ecx
cmp eax, edx
jbe 0x40419d
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x4050ee
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x404184
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x404164
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x404174
add dword [ebp - 0x200], eax
mov ebx, dword [ebp - 0x1fc]
test ebx, ebx
je 0x404184
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
inc eax
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x404100
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0x14
mov edx, dword [ebp - 0x208]
inc eax
mov dword [ebp - 0x1f0], eax
sub eax, edx
sub eax, 4
mov dword [esp], eax
mov edx, dword [ebp - 0x208]
mov eax, 0xe
call fcn.00403870
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x405822
test dword [ebp + 8], 0x20000
jne case.0x403b1d.11
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 0x10
jmp 0x403ebb
test dword [ebp + 8], 0x800
je case.0x403b1d.11
test dword [ebp + 8], 0x400
jne case.0x403b1d.11
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
sub eax, ecx
mov ebx, ecx
add eax, 3
jmp 0x4042a9
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x404296
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x404276
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x404286
add dword [ebp - 0x200], eax
mov ebx, dword [ebp - 0x1fc]
test ebx, ebx
je 0x404296
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
add eax, 3
cmp eax, edx
jbe 0x405374
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x40422c
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x404236
test dword [ebp + 8], 0x2000
je case.0x403b1d.11
inc dword [ebp - 0x20c]
mov esi, dword [ebp + 0xc]
inc dword [esi + 0x18]
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x24]
je 0x405987
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp + 0xc]
lea eax, [edx + edx*4]
lea esi, [eax*4]
mov ecx, dword [edi]
mov edi, dword [ebp - 0x208]
sub dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x204]
mov dword [esi + ebx], eax
xor eax, eax
test edi, edi
je 0x404331
mov eax, dword [ebp - 0x208]
sub eax, ecx
inc eax
mov dword [esi + ebx + 4], eax
lea eax, [edx + edx*4]
mov esi, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x20c]
shl eax, 2
sub esi, ecx
mov dword [eax + ebx + 0xc], esi
cmp edx, 0xff
mov dword [eax + ebx + 0x10], edx
ja 0x404432
mov eax, dword [ebp - 0x20]
lea edx, [esi + 2]
lea eax, [eax + eax*4]
mov dword [ebx + eax*4 + 8], edx
lea eax, [esi + 3]
mov esi, dword [ebp + 0xc]
mov ebx, dword [esi + 4]
cmp eax, ebx
jbe 0x404414
cmp ebx, 0x10000
mov esi, ecx
je 0x404bb8
lea eax, [ebx + ebx]
cmp eax, 0x10000
jbe 0x4054c5
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [ebx], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, esi
je 0x4043fb
sub eax, esi
mov esi, dword [ebp - 0x208]
add dword [ebp - 0x1f0], eax
test esi, esi
je 0x4043db
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x4043eb
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x4043fb
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
sub eax, ecx
add eax, 3
mov esi, dword [ebp + 0xc]
mov ebx, dword [esi + 4]
cmp eax, ebx
ja 0x40437b
mov edi, dword [ebp - 0x1f0]
mov byte [edi], 6
inc edi
movzx eax, byte [ebp - 0x20c]
mov byte [edi], al
inc edi
mov byte [edi], 0
inc edi
mov dword [ebp - 0x1f0], edi
inc dword [ebp - 0x20]
xor eax, eax
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x208], eax
xor eax, eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x204], edx
xor eax, eax
mov dword [ebp - 0x1fc], eax
jmp 0x403d7b
cmp edx, dword [ebp - 0x1f4]
je 0x404470
test byte [ebp + 8], 8
je 0x404cad
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
cmp eax, edx
jbe 0x404528
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x404f0b
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x40450f
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x4044ef
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x4044ff
add dword [ebp - 0x200], eax
mov ebx, dword [ebp - 0x1fc]
test ebx, ebx
je 0x40450f
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
inc eax
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x40448b
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0xa
jmp 0x404bac
mov eax, dword [ebp + 8]
and eax, 0x8000
test ax, ax
jmp 0x4041ff
test dword [ebp + 8], 0x200
je case.0x403b1d.11
test dword [ebp + 8], 0x1000
je case.0x403b1d.11
cmp esi, dword [ebp - 0x1f4]
mov eax, 0xffffffff
mov ebx, 0xffffffff
mov dword [ebp - 0x244], eax
mov edi, esi
je 0x405ae7
lea ecx, [esi + 1]
cmp esi, dword [ebp - 0x1f4]
jne 0x404d06
mov eax, 0xe
jmp 0x403ebb
mov eax, dword [ebp - 0x1d4]
inc eax
cmp eax, edx
je 0x4045ac
test byte [ebp + 8], 8
je 0x404c76
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
sub eax, ecx
inc eax
mov ebx, ecx
cmp eax, edx
jbe 0x404667
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x404f00
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x40464e
mov esi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test esi, esi
je 0x40462e
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x40463e
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x40464e
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
inc eax
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x4045ca
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 9
jmp 0x404bac
cmp edx, dword [ebp - 0x1f4]
je 0x405603
lea esi, [edx + 1]
mov dword [ebp - 0x1cc], esi
movzx edx, byte [edx]
movzx eax, dl
sub eax, 0x27
mov byte [ebp - 0x1e8], dl
cmp eax, 0x55
ja case.0x4046a2.42
jmp dword [eax*4 + 0x40d4bc]
cmp edx, dword [ebp - 0x1f4]
mov ecx, 0xffffffff
mov byte [ebp - 0x228], 0
mov dword [ebp - 0x22c], ecx
je 0x405bd8
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
add eax, 0x22
cmp eax, edx
jbe 0x404783
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x404c4b
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x404768
mov edx, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edx, edx
je 0x404748
add dword [ebp - 0x208], eax
mov edi, dword [ebp - 0x200]
test edi, edi
je 0x404758
add dword [ebp - 0x200], eax
mov esi, dword [ebp - 0x1fc]
test esi, esi
je 0x404768
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
add eax, 0x22
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x4046e4
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov dword [ebp - 0x200], eax
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x404839
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x404c56
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], 0x10000
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [edi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x404820
sub eax, ebx
mov ebx, dword [ebp - 0x208]
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test ebx, ebx
je 0x404800
add dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x200]
test edx, edx
je 0x404810
add dword [ebp - 0x200], eax
mov edi, dword [ebp - 0x1fc]
test edi, edi
je 0x404820
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov esi, dword [ebp + 0xc]
sub eax, ecx
inc eax
mov edx, dword [esi + 4]
cmp eax, edx
ja 0x40479c
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1f0]
inc dword [ebp - 0x1f0]
cmp byte [eax], 0x5e
sete al
add al, 4
mov byte [edx], al
mov esi, dword [ebp - 0x1cc]
cmp byte [esi], 0x5e
je 0x405adb
mov dword [ebp - 0x1ec], esi
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
mov ebx, ecx
cmp eax, edx
jbe 0x404922
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x404f16
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x404909
mov esi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test esi, esi
je 0x4048e9
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x4048f9
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x404909
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
inc eax
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x404885
cld
mov eax, dword [ebp - 0x1f0]
mov ecx, 8
mov byte [eax], 0x20
inc eax
mov dword [ebp - 0x1f0], eax
mov edi, dword [ebp - 0x1f0]
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x1f0]
cmp byte [edx - 2], 5
je 0x405ab0
mov ecx, dword [ebp + 8]
shr ecx, 2
and ecx, 1
mov dword [ebp - 0x230], ecx
jmp 0x4049b9
cmp esi, dword [ebp - 0x1f4]
je 0x405603
lea esi, [edx + 2]
mov dword [ebp - 0x1cc], esi
mov esi, dword [ebp - 0x1f8]
movzx ebx, byte [edx + 1]
test esi, esi
je 0x404993
mov esi, dword [ebp - 0x1f8]
movzx eax, bl
movzx ebx, byte [eax + esi]
mov al, bl
mov ecx, ebx
mov edi, dword [ebp - 0x1f0]
shr al, 3
and ecx, 7
movzx edx, al
mov eax, 1
movzx ebx, bl
shl eax, cl
or byte [edx + edi], al
mov dword [ebp - 0x22c], ebx
mov edx, dword [ebp - 0x1cc]
cmp edx, dword [ebp - 0x1f4]
je 0x405bd8
lea edi, [edx + 1]
mov eax, dword [ebp - 0x1f8]
mov esi, edi
mov dword [ebp - 0x1cc], edi
test eax, eax
movzx ebx, byte [edx]
mov byte [ebp - 0x1e8], bl
je 0x4049fc
mov ecx, dword [ebp - 0x1f8]
movzx eax, bl
movzx eax, byte [eax + ecx]
mov byte [ebp - 0x1e8], al
xor eax, eax
cmp byte [ebp - 0x1e8], 0x5c
sete al
test dword [ebp + 8], eax
jne 0x404963
cmp byte [ebp - 0x1e8], 0x5d
je 0x405012
movzx ecx, byte [ebp - 0x228]
xor eax, eax
cmp byte [ebp - 0x1e8], 0x2d
sete al
test ecx, eax
je 0x404a3f
cmp byte [edx + 1], 0x5d
jne 0x4068a9
cmp byte [ebp - 0x1e8], 0x2d
je 0x405072
cmp byte [edi], 0x2d
je 0x4050f9
cmp byte [ebp - 0x1e8], 0x5b
sete al
test dword [ebp - 0x230], eax
je 0x404a70
cmp byte [edi], 0x3a
je 0x4054d0
cmp byte [ebp - 0x1e8], 0x5b
sete al
test dword [ebp - 0x230], eax
je 0x404a8b
cmp byte [edi], 0x3d
je 0x405618
cmp byte [ebp - 0x1e8], 0x5b
sete al
test dword [ebp - 0x230], eax
je 0x404aa6
cmp byte [edi], 0x2e
je 0x40570b
movzx eax, byte [ebp - 0x1e8]
movzx ecx, byte [ebp - 0x1e8]
mov byte [ebp - 0x228], 0
shr al, 3
movzx edx, al
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1f0]
or byte [edx + ecx], al
movzx ebx, byte [ebp - 0x1e8]
jmp 0x4049b3
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1f0]
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebx]
mov eax, edx
mov dword [ebp - 0x200], edx
mov edx, dword [esi + 4]
sub eax, ecx
inc eax
mov ebx, ecx
cmp eax, edx
jbe 0x404ba3
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x404c40
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x404b8a
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x404b6a
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x404b7a
add dword [ebp - 0x200], eax
mov ebx, dword [ebp - 0x1fc]
test ebx, ebx
je 0x404b8a
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
inc eax
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x404b06
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 3
inc eax
mov dword [ebp - 0x1f0], eax
jmp 0x403d7b
add esp, 0x25c
mov eax, 0xf
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x403e12
inc dl
je 0x403bc2
mov esi, dword [ebp - 0x1cc]
movzx edx, byte [esi]
cmp dl, 0x2a
je 0x403bc2
cmp dl, 0x5e
je 0x403bc2
test byte [ebp + 8], 2
jne 0x404c61
cmp dl, 0x2b
sete al
cmp dl, 0x3f
sete dl
or eax, edx
test al, 1
jne 0x403bc2
test dword [ebp + 8], 0x200
je 0x403ca5
test dword [ebp + 8], 0x1000
je 0x405810
cmp byte [esi], 0x7b
jne 0x403ca5
jmp 0x403bc2
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x404b2a
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x404708
mov esi, dword [ebp + 0xc]
mov dword [esi + 4], eax
jmp 0x4047c0
cmp dl, 0x5c
jne 0x404c12
movzx eax, byte [esi + 1]
cmp al, 0x2b
sete dl
cmp al, 0x3f
sete al
jmp 0x404c08
lea eax, [edx - 2]
xor edx, edx
cmp eax, dword [ebp - 0x1d4]
jbe 0x404c8b
cmp byte [eax - 1], 0x5c
jne 0x404c8b
mov dl, 1
movzx eax, byte [eax]
xor ecx, ecx
cmp al, 0x28
je 0x405a00
cmp al, 0x7c
je 0x4059e6
test cl, cl
jne 0x4045ac
jmp case.0x403b1d.11
movzx ecx, byte [edx]
lea eax, [edx + 1]
mov edx, eax
cmp cl, 0x5c
sete bl
cmp eax, dword [ebp - 0x1f4]
jb 0x404cc5
xor edx, edx
xor esi, esi
test dword [ebp + 8], 0x2000
je 0x405953
cmp cl, 0x29
je 0x405968
mov eax, dword [ebp + 8]
and eax, 0x8000
test ax, ax
je 0x405972
cmp cl, 0x7c
je 0x405968
mov eax, esi
test al, al
jne 0x404470
jmp case.0x403b1d.11
mov dword [ebp - 0x248], ecx
mov esi, ecx
lea ecx, [ecx + 1]
mov dword [ebp - 0x1cc], esi
mov eax, dword [ebp - 0x1f8]
movzx edx, byte [ecx - 2]
test eax, eax
mov byte [ebp - 0x1e8], dl
je 0x404d3e
movzx eax, dl
mov edx, dword [ebp - 0x1f8]
movzx eax, byte [eax + edx]
mov byte [ebp - 0x1e8], al
movzx eax, byte [ebp - 0x1e8]
sub al, 0x30
cmp al, 9
ja 0x404d8e
cmp dword [ebp - 0x244], 0x7fff
jg 0x404d82
mov eax, dword [ebp - 0x244]
not eax
sar eax, 0x1f
and dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x244]
lea edx, [eax + eax*4]
movzx eax, byte [ebp - 0x1e8]
lea edx, [eax + edx*2 - 0x30]
mov dword [ebp - 0x244], edx
cmp esi, dword [ebp - 0x1f4]
jne 0x404d06
cmp byte [ebp - 0x1e8], 0x2c
je 0x405b45
mov ebx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x244]
xor edx, edx
shr eax, 0x1f
cmp dword [ebp - 0x244], ebx
setg dl
or eax, edx
jne 0x405ae7
test dword [ebp + 8], 0x1000
jne 0x404e0e
cmp byte [ebp - 0x1e8], 0x5c
jne 0x405ae7
cmp esi, dword [ebp - 0x1f4]
mov eax, esi
je 0x405ae7
inc esi
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1cc], esi
movzx eax, byte [eax]
test edx, edx
mov byte [ebp - 0x1e8], al
je 0x404e0e
mov ecx, dword [ebp - 0x1f8]
movzx eax, al
movzx eax, byte [eax + ecx]
mov byte [ebp - 0x1e8], al
cmp byte [ebp - 0x1e8], 0x7d
jne 0x405ae7
mov eax, dword [ebp - 0x200]
test eax, eax
je 0x406192
cmp ebx, 0x7fff
jg 0x405dda
test ebx, ebx
jne 0x405c1e
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edi]
sub eax, ecx
mov ebx, ecx
add eax, 3
jmp 0x404ecb
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x404ebb
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x404e9b
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x404eab
add dword [ebp - 0x200], eax
mov ebx, dword [ebp - 0x1fc]
test ebx, ebx
je 0x404ebb
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
add eax, 3
mov edx, dword [edi + 4]
cmp eax, edx
jbe 0x405bed
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x404e51
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x404e5b
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4045ee
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4044af
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4048a9
dec esi
mov dword [ebp - 0x1cc], esi
mov edi, dword [ebp - 0x200]
test edi, edi
je 0x403d81
cmp byte [ebp - 0x20f], 0
je 0x4051a1
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebx]
mov edx, dword [edi + 4]
sub eax, ecx
add eax, 3
mov ebx, ecx
cmp eax, edx
ja 0x404fed
jmp 0x405151
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x404fd2
mov esi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test esi, esi
je 0x404fb2
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x404fc2
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x404fd2
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
add eax, 3
cmp eax, edx
jbe 0x40514b
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x404f68
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x404f72
mov eax, dword [ebp - 0x1ec]
inc eax
cmp eax, esi
je 0x404a1e
mov edi, dword [ebp - 0x1f0]
movzx edx, byte [edi - 1]
test dl, dl
je 0x405064
movzx eax, dl
cmp byte [eax + edi - 1], 0
jne 0x405064
mov cl, dl
dec cl
mov eax, dword [ebp - 0x1f0]
test cl, cl
mov dl, cl
mov byte [eax - 1], cl
je 0x40505e
mov ebx, dword [ebp - 0x1f0]
movzx eax, dl
dec cl
cmp byte [eax + ebx - 1], 0
je 0x40503d
mov esi, dword [ebp - 0x1cc]
movzx eax, dl
add dword [ebp - 0x1f0], eax
jmp 0x403d81
lea eax, [edx - 1]
cmp eax, dword [ebp - 0x1d4]
jb 0x405087
cmp byte [esi - 2], 0x5b
je 0x404a4c
lea eax, [edx - 2]
cmp eax, dword [ebp - 0x1d4]
jb 0x40509c
cmp byte [esi - 3], 0x5b
je 0x405aa1
cmp byte [edi], 0x5d
je 0x404a4c
mov ebx, dword [ebp - 0x1f0]
lea edx, [ebp - 0x1cc]
mov dword [esp + 0xc], ebx
mov esi, dword [ebp + 8]
mov dword [esp + 8], esi
mov edi, dword [ebp - 0x1f8]
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x1f4]
mov dword [esp], eax
mov eax, dword [ebp - 0x22c]
call fcn.004038c0
test eax, eax
mov ebx, eax
jne 0x405b0f
mov ebx, 0xffffffff
jmp 0x4049b3
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x404124
cmp byte [edi + 1], 0x5d
je 0x404a55
cmp edi, dword [ebp - 0x1f4]
je 0x40458d
movzx eax, byte [ebp - 0x1e8]
lea esi, [edi + 1]
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x1cc], esi
mov dword [esp + 0xc], edx
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x1cc]
mov dword [esp + 8], ecx
mov ebx, dword [ebp - 0x1f8]
mov dword [esp + 4], ebx
mov esi, dword [ebp - 0x1f4]
mov dword [esp], esi
jmp 0x4050d5
mov esi, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1f8]
test edi, edi
je 0x405a98
movzx edx, byte [esi - 2]
mov ecx, dword [ebp - 0x1f8]
movzx eax, byte [ecx + 0x2e]
cmp al, byte [edx + ecx]
je 0x405a1d
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x200]
sub eax, edx
sub eax, 6
mov dword [esp], eax
mov edx, dword [ebp - 0x1f0]
mov eax, 0x12
call fcn.00403870
add dword [ebp - 0x1f0], 3
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
sub eax, ecx
mov ebx, ecx
add eax, 3
cmp eax, edx
jbe 0x40525d
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x405369
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x405242
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x405222
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x405232
add dword [ebp - 0x200], eax
mov ebx, dword [ebp - 0x1fc]
test ebx, ebx
je 0x405242
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
add eax, 3
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x4051be
cmp byte [ebp - 0x20d], 1
mov edx, dword [ebp - 0x1f0]
sbb eax, eax
mov dword [esp + 4], edx
add eax, 0x10
xor edi, edi
mov ecx, dword [ebp - 0x200]
sub edx, ecx
mov dword [esp], edx
mov edx, dword [ebp - 0x200]
call fcn.00403890
add dword [ebp - 0x1f0], 3
cmp byte [ebp - 0x20e], 0
mov dword [ebp - 0x1fc], edi
jne 0x403d7b
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebx]
mov edx, dword [esi + 4]
sub eax, ecx
mov ebx, ecx
add eax, 3
jmp 0x40533c
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x405329
mov esi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test esi, esi
je 0x405309
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x405319
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x405329
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
add eax, 3
cmp eax, edx
jbe 0x4055b5
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x4052bf
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4052c9
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4051e2
mov eax, dword [ebp - 0x1f0]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x204]
sub eax, edx
add eax, 3
mov dword [esp], eax
mov edx, dword [ebp - 0x204]
mov eax, 0xf
call fcn.00403890
add dword [ebp - 0x1f0], 3
xor eax, eax
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x208]
test eax, eax
je 0x4053d9
mov eax, dword [ebp - 0x1f0]
mov edi, dword [ebp - 0x208]
sub eax, edi
sub eax, 3
mov dword [esp], eax
mov edx, dword [ebp - 0x208]
mov eax, 0xe
call fcn.00403870
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1f0]
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebx]
mov eax, edx
mov dword [ebp - 0x208], edx
mov edx, dword [esi + 4]
sub eax, ecx
add eax, 3
mov ebx, ecx
cmp eax, edx
jbe 0x40549a
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x4054ba
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x40547f
mov esi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
test esi, esi
je 0x40545f
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x40546f
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x40547f
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
add eax, 3
mov edx, dword [edi + 4]
cmp eax, edx
ja 0x405401
add dword [ebp - 0x1f0], 3
xor eax, eax
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x204], eax
jmp 0x403d7b
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x405425
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4043a1
cmp edi, dword [ebp - 0x1f4]
je 0x40458d
lea esi, [edi + 1]
xor ebx, ebx
cmp esi, dword [ebp - 0x1f4]
mov dword [ebp - 0x1cc], esi
jne 0x405515
jmp 0x405bd8
cmp esi, dword [ebp - 0x1f4]
je 0x40555e
movzx edx, byte [ebp - 0x1e8]
movzx eax, bl
inc bl
mov byte [ebp + eax - 0x138], dl
mov esi, dword [ebp - 0x1cc]
cmp esi, dword [ebp - 0x1f4]
mov eax, esi
je 0x40458d
inc esi
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1cc], esi
movzx eax, byte [eax]
test ecx, ecx
mov byte [ebp - 0x1e8], al
je 0x405550
mov edi, dword [ebp - 0x1f8]
movzx eax, al
movzx eax, byte [eax + edi]
mov byte [ebp - 0x1e8], al
cmp byte [ebp - 0x1e8], 0x3a
jne 0x4054f4
cmp byte [esi], 0x5d
jne 0x4054f4
xor edx, edx
movzx eax, bl
mov byte [ebp + eax - 0x138], dl
cmp byte [ebp - 0x1e8], 0x3a
je 0x4061d2
cmp bl, 0xff
je 0x405590
mov esi, dword [ebp - 0x1cc]
dec bl
dec esi
cmp bl, 0xff
jne 0x405582
mov dword [ebp - 0x1cc], esi
mov ecx, dword [ebp - 0x1f0]
mov ebx, 0x3a
or byte [ecx + 0xb], 8
or byte [ecx + 7], 4
mov dword [ebp - 0x22c], ebx
mov byte [ebp - 0x228], 0
jmp 0x4049b9
mov eax, dword [ebp - 0x1f0]
mov dword [esp], 3
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x200]
mov eax, 0x13
call fcn.00403890
add dword [ebp - 0x1f0], 3
jmp 0x403d7b
test byte [ebp + 8], 0x20
jne 0x406832
test byte [ebp + 8], 0x10
jne 0x403f9a
jmp case.0x403b1d.11
lea esi, [edi - 2]
jmp 0x404f22
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 5
jmp 0x403ebb
cmp edi, dword [ebp - 0x1f4]
je 0x40458d
lea esi, [edi + 1]
xor ebx, ebx
cmp esi, dword [ebp - 0x1f4]
mov dword [ebp - 0x1cc], esi
je 0x405bd8
lea edx, [edi + 2]
cmp esi, dword [ebp - 0x1f4]
je 0x40458d
mov esi, edx
lea edx, [edx + 1]
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1cc], esi
movzx eax, byte [edx - 2]
test ecx, ecx
mov byte [ebp - 0x1e8], al
je 0x40567c
mov ecx, dword [ebp - 0x1f8]
movzx eax, al
movzx eax, byte [eax + ecx]
mov byte [ebp - 0x1e8], al
cmp byte [ebp - 0x1e8], 0x3d
je 0x4056bb
cmp esi, dword [ebp - 0x1f4]
je 0x4056c1
test bl, bl
jne 0x4056b2
movzx ebx, byte [ebp - 0x1e8]
cmp esi, dword [ebp - 0x1f4]
mov byte [ebp - 0x1ce], bl
mov bl, 1
jne 0x40564a
mov eax, 0xe
jmp 0x403ebb
mov byte [ebp - 0x1ce], 0
jmp 0x40563e
cmp byte [edx - 1], 0x5d
jne 0x405685
xor edx, edx
movzx eax, bl
mov byte [ebp + eax - 0x1ce], dl
cmp byte [ebp - 0x1e8], 0x3d
je 0x4067c1
cmp bl, 0xff
je 0x4056f3
mov esi, dword [ebp - 0x1cc]
dec bl
dec esi
cmp bl, 0xff
jne 0x4056e5
mov dword [ebp - 0x1cc], esi
mov edi, dword [ebp - 0x1f0]
mov ebx, 0x3d
or byte [edi + 0xb], 8
or byte [edi + 7], 0x20
jmp 0x4055a3
cmp edi, dword [ebp - 0x1f4]
je 0x40458d
lea esi, [edi + 1]
xor ebx, ebx
cmp esi, dword [ebp - 0x1f4]
mov dword [ebp - 0x1cc], esi
je 0x405bd8
cmp esi, dword [ebp - 0x1f4]
mov eax, esi
je 0x40458d
inc esi
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1cc], esi
movzx eax, byte [eax]
test ecx, ecx
mov byte [ebp - 0x1e8], al
je 0x405769
mov edx, dword [ebp - 0x1f8]
movzx eax, al
movzx eax, byte [eax + edx]
mov byte [ebp - 0x1e8], al
cmp byte [ebp - 0x1e8], 0x2e
je 0x4057af
cmp esi, dword [ebp - 0x1f4]
je 0x4057b4
test bl, bl
js 0x405804
movzx ecx, byte [ebp - 0x1e8]
movzx eax, bl
inc bl
mov byte [ebp + eax - 0x1b8], cl
mov esi, dword [ebp - 0x1cc]
cmp esi, dword [ebp - 0x1f4]
mov eax, esi
jne 0x40573c
mov eax, 0xe
jmp 0x403ebb
cmp byte [esi], 0x5d
jne 0x405772
xor edx, edx
movzx eax, bl
mov byte [ebp + eax - 0x1b8], dl
cmp byte [ebp - 0x1e8], 0x2e
je 0x406847
cmp bl, 0xff
je 0x4057e6
mov esi, dword [ebp - 0x1cc]
dec bl
dec esi
cmp bl, 0xff
jne 0x4057d8
mov dword [ebp - 0x1cc], esi
mov edi, dword [ebp - 0x1f0]
mov eax, 0x2e
or byte [edi + 0xb], 8
or byte [edi + 5], 0x40
mov dword [ebp - 0x22c], eax
jmp 0x4055a9
mov byte [ebp - 0x1b8], 0
jmp 0x40572e
cmp byte [esi], 0x5c
jne 0x403ca5
cmp byte [esi + 1], 0x7b
jmp 0x404c2f
dec eax
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
lea eax, [eax + eax*4]
shl eax, 2
mov ecx, dword [edx]
mov esi, dword [eax + ebx]
mov eax, dword [eax + ebx + 4]
add esi, ecx
lea edi, [ecx + eax - 1]
test eax, eax
mov dword [ebp - 0x204], esi
mov dword [ebp - 0x208], edi
jne 0x405859
xor eax, eax
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1fc], edi
lea eax, [eax + eax*4]
shl eax, 2
mov edx, dword [eax + ebx + 0xc]
mov esi, dword [eax + ebx + 0x10]
add edx, ecx
mov dword [ebp - 0x200], edx
cmp esi, 0xff
ja 0x403d7b
mov edx, dword [eax + ebx + 8]
mov ebx, esi
movzx eax, byte [ebp - 0x20c]
add ecx, edx
sub al, bl
mov byte [ecx], al
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edi]
sub eax, ecx
mov ebx, ecx
add eax, 3
mov edx, dword [edi + 4]
cmp eax, edx
jbe 0x4059b4
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
jbe 0x40594b
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], 0x10000
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [edi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x405936
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x405916
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x405926
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x405936
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov ebx, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
add eax, 3
jmp 0x4058ab
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4058d6
test edx, edx
setne al
test al, bl
je 0x404cdd
cmp byte [edx], 0x29
jmp 0x404cd7
mov esi, 1
jmp 0x404cf7
test edx, edx
setne al
test al, bl
je 0x404cf7
cmp byte [edx], 0x7c
jmp 0x404cf1
lea eax, [edx + edx*4]
shl eax, 3
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_realloc
mov dword [ebp - 0x28], eax
test eax, eax
mov ebx, eax
je 0x403eea
shl dword [ebp - 0x24], 1
mov edx, dword [ebp - 0x20]
jmp 0x4042fe
mov eax, dword [ebp - 0x1f0]
mov edx, esi
mov byte [eax], 7
inc eax
mov byte [eax], dl
inc eax
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x1f0]
movzx eax, byte [ebp - 0x20c]
sub al, dl
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x1f0], ecx
jmp 0x403d7b
mov eax, dword [ebp + 8]
shr eax, 0xf
and al, 1
or al, dl
je 0x404ca0
mov ecx, 1
jmp 0x404ca0
mov eax, dword [ebp + 8]
shr eax, 0xd
jmp 0x4059ec
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 8
jmp 0x403ebb
cmp byte [ebp - 0x20e], 0
setne al
xor edx, edx
cmp esi, dword [ebp - 0x1f4]
setb dl
test eax, edx
je 0x405176
mov ebx, dword [ebp - 0x1f8]
test ebx, ebx
je 0x4068be
movzx edx, byte [esi]
mov ebx, dword [ebp - 0x1f8]
movzx eax, byte [ebx + 0xa]
cmp al, byte [edx + ebx]
jne 0x405176
test byte [ebp + 8], 0x40
jne 0x405176
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1f0]
sub eax, ecx
sub eax, 3
mov dword [esp], eax
mov edx, dword [ebp - 0x1f0]
mov eax, 0xd
call fcn.00403870
mov byte [ebp - 0x20d], 1
jmp 0x40519a
cmp byte [esi - 2], 0x2e
jmp 0x405170
cmp byte [esi - 2], 0x5e
jne 0x40509c
jmp 0x404a4c
test dword [ebp + 8], 0x100
je 0x404952
or byte [edx + 1], 4
jmp 0x404952
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 0xc
jmp 0x403eef
inc esi
mov dword [ebp - 0x1cc], esi
jmp 0x404864
test dword [ebp + 8], 0x200000
je 0x405b21
test dword [ebp + 8], 0x1000
mov dword [ebp - 0x1cc], edi
mov byte [ebp - 0x1e8], 0x7b
je case.0x4046a2.42
jmp case.0x403b1d.11
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, ebx
jmp 0x403ebb
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov edi, dword [ebp - 0x1f4]
xor eax, eax
cmp dword [ebp - 0x1cc], edi
setne al
add eax, 9
jmp 0x403ebb
mov edx, dword [ebp - 0x1f4]
cmp dword [ebp - 0x248], edx
je 0x405bce
lea ecx, [esi + 1]
cmp esi, edx
jne 0x405b87
jmp 0x40458d
cmp ebx, 0x7fff
jg 0x405b7f
mov eax, ebx
not eax
sar eax, 0x1f
and ebx, eax
lea edx, [ebx + ebx*4]
movzx eax, byte [ebp - 0x1e8]
lea ebx, [eax + edx*2 - 0x30]
cmp esi, dword [ebp - 0x1f4]
je 0x405bc6
mov esi, ecx
lea ecx, [ecx + 1]
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x1cc], esi
movzx eax, byte [ecx - 2]
test edx, edx
mov byte [ebp - 0x1e8], al
je 0x405bb9
mov edx, dword [ebp - 0x1f8]
movzx eax, al
movzx eax, byte [eax + edx]
mov byte [ebp - 0x1e8], al
movzx eax, byte [ebp - 0x1e8]
sub al, 0x30
cmp al, 9
jbe 0x405b60
test ebx, ebx
jns 0x404da1
mov ebx, 0x7fff
jmp 0x404da1
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 7
jmp 0x403ebb
mov eax, dword [ebp - 0x1f0]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x200]
sub eax, edx
mov dword [esp], eax
mov edx, dword [ebp - 0x200]
mov eax, 0xd
call fcn.00403890
add dword [ebp - 0x1f0], 3
jmp 0x404451
mov edx, dword [ebp + 0xc]
cmp ebx, 2
setge al
movzx esi, al
mov ecx, dword [edx]
dec esi
mov eax, dword [ebp - 0x1f0]
and esi, 0xfffffff6
add esi, 0x14
mov edi, ecx
sub eax, ecx
add eax, esi
mov dword [ebp - 0x24c], eax
mov eax, edx
jmp 0x405cd0
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], 0x10000
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov ecx, eax
mov eax, dword [ebp + 0xc]
test ecx, ecx
mov dword [eax], ecx
je 0x403eea
cmp ecx, edi
je 0x405cbb
mov eax, ecx
sub eax, edi
mov edi, dword [ebp - 0x208]
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x405c9b
add dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x200]
test edx, edx
je 0x405cab
add dword [ebp - 0x200], eax
mov edi, dword [ebp - 0x1fc]
test edi, edi
je 0x405cbb
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov edi, ecx
sub eax, ecx
add eax, esi
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
cmp dword [ebp - 0x24c], edx
jbe 0x405d00
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x405c4c
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x405c56
mov edx, dword [ebp - 0x1f0]
mov edi, edx
add edi, 5
mov dword [esp + 8], edx
cmp ebx, 1
mov ecx, dword [ebp - 0x244]
mov dword [esp + 4], ecx
jle 0x4061c0
mov esi, dword [ebp - 0x200]
mov eax, edi
sub eax, esi
add eax, 2
mov dword [esp], eax
mov edx, dword [ebp - 0x200]
mov eax, 0x15
call fcn.004039c0
mov dword [ebp - 0x1f0], edi
mov eax, 0x17
mov dword [esp + 8], edi
mov esi, dword [ebp - 0x244]
mov dword [esp], 5
add edi, 5
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x200]
call fcn.004039c0
mov dword [ebp - 0x1f0], edi
cmp ebx, 1
jle 0x404451
dec ebx
mov edx, edi
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x200]
sub eax, edi
add eax, 2
add edi, 5
mov dword [esp], eax
mov eax, 0x16
call fcn.00403990
mov dword [ebp - 0x1f0], edi
mov eax, edi
mov dword [esp + 8], edi
add edi, 5
mov dword [esp + 4], ebx
mov edx, dword [ebp - 0x200]
sub eax, edx
mov dword [esp], eax
mov edx, dword [ebp - 0x200]
mov eax, 0x17
call fcn.004039c0
mov dword [ebp - 0x1f0], edi
jmp 0x404451
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 0xa
jmp 0x403ebb
test dword [ebp + 8], 0x80000
jne case.0x403b1d.11
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov dword [ebp - 0x200], eax
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
jmp 0x405e92
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x405e81
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x405e61
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x405e71
add dword [ebp - 0x200], eax
mov ebx, dword [ebp - 0x1fc]
test ebx, ebx
je 0x405e81
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x405ebb
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x405e17
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x405e21
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0x18
jmp 0x404bac
test dword [ebp + 8], 0x80000
jne case.0x403b1d.11
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
jmp 0x405f66
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x405f55
mov edi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x405f35
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x405f45
add dword [ebp - 0x200], eax
mov ebx, dword [ebp - 0x1fc]
test ebx, ebx
je 0x405f55
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x405f8f
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x405eeb
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x405ef5
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0x1c
jmp 0x404bac
test dword [ebp + 8], 0x80000
jne case.0x403b1d.11
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
jmp 0x40603a
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x406029
sub eax, ebx
mov ebx, dword [ebp - 0x208]
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test ebx, ebx
je 0x406009
add dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x200]
test edx, edx
je 0x406019
add dword [ebp - 0x200], eax
mov edi, dword [ebp - 0x1fc]
test edi, edi
je 0x406029
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x406063
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x405fbf
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x405fc9
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0xb
jmp 0x404bac
test dword [ebp + 8], 0x80000
jne case.0x403b1d.11
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1f0]
mov esi, dword [ebp + 0xc]
mov ecx, dword [ebx]
mov eax, edx
mov dword [ebp - 0x200], edx
mov edx, dword [esi + 4]
sub eax, ecx
mov ebx, ecx
inc eax
jmp 0x406119
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x406108
mov edx, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edx, edx
je 0x4060e8
add dword [ebp - 0x208], eax
mov edi, dword [ebp - 0x200]
test edi, edi
je 0x4060f8
add dword [ebp - 0x200], eax
mov esi, dword [ebp - 0x1fc]
test esi, esi
je 0x406108
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x406142
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x40609e
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4060a8
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0x19
jmp 0x404bac
test dword [ebp + 8], 0x400
jne case.0x4046a2.42
mov eax, dword [ebp + 8]
and eax, 0x8000
test ax, ax
jne case.0x4046a2.42
jmp 0x404205
test dword [ebp + 8], 0x200
je case.0x4046a2.42
test dword [ebp + 8], 0x1000
jne case.0x4046a2.42
jmp 0x404560
test byte [ebp + 8], 0x20
je 0x4061a5
test dword [ebp + 8], 0x200000
je 0x406832
test byte [ebp + 8], 0x10
je 0x405af0
mov esi, dword [ebp - 0x1f0]
mov dword [ebp - 0x200], esi
jmp 0x404e29
mov ecx, dword [ebp - 0x200]
mov eax, edi
sub eax, ecx
sub eax, 3
jmp 0x405d2f
mov esi, dword [ebp - 0x1cc]
cmp byte [esi], 0x5d
jne 0x405577
cld
mov edi, str.lower
lea ebx, [ebp - 0x138]
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
sete byte [ebp - 0x231]
mov edi, str.upper
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
sete byte [ebp - 0x239]
mov dword [esp], ebx
call sub.cygwin1.dll_wctype
test eax, eax
mov edi, eax
je 0x4062e3
mov eax, dword [ebp - 0x1cc]
cmp eax, dword [ebp - 0x1f4]
je 0x40458d
lea esi, [eax + 1]
cmp esi, dword [ebp - 0x1f4]
mov dword [ebp - 0x1cc], esi
je 0x405bd8
xor ebx, ebx
mov esi, 1
mov dword [esp], ebx
call sub.cygwin1.dll_btowc
mov dword [esp], eax
mov dword [esp + 4], edi
call sub.cygwin1.dll_iswctype
test eax, eax
je 0x406288
mov dl, bl
mov al, bl
mov ecx, edx
and ecx, 7
mov edx, esi
shl edx, cl
mov ecx, edx
mov edx, dword [ebp - 0x1f0]
shr al, 3
movzx eax, al
or byte [eax + edx], cl
mov eax, dword [ebp - 0x1f8]
test eax, eax
je 0x4062d1
movzx ecx, byte [ebp - 0x239]
or cl, byte [ebp - 0x231]
je 0x4062d1
mov eax, dword [sym.imp.cygwin1.dll__ctype_]
movsx eax, byte [eax + ebx + 1]
test al, 1
jne 0x4062b3
test al, 2
je 0x4062d1
mov dl, bl
mov al, bl
mov ecx, edx
and ecx, 7
mov edx, esi
shl edx, cl
mov ecx, edx
mov edx, dword [ebp - 0x1f0]
shr al, 3
movzx eax, al
or byte [eax + edx], cl
inc ebx
cmp ebx, 0xff
jle 0x406252
jmp 0x406811
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 4
jmp 0x403ebb
test dword [ebp + 8], 0x80000
jne case.0x403b1d.11
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
jmp 0x406395
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x406384
mov edx, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edx, edx
je 0x406364
add dword [ebp - 0x208], eax
mov edi, dword [ebp - 0x200]
test edi, edi
je 0x406374
add dword [ebp - 0x200], eax
mov esi, dword [ebp - 0x1fc]
test esi, esi
je 0x406384
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x4063be
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x40631a
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x406324
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0x1d
jmp 0x404bac
test byte [ebp + 8], 2
jne case.0x403b1d.42
jmp case.0x4046a2.42
test dword [ebp + 8], 0x80000
jne case.0x403b1d.11
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
jmp 0x406478
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x406467
mov esi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test esi, esi
je 0x406447
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x406457
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x406467
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x4064a1
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x4063fd
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x406407
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0x1b
jmp 0x404bac
test dword [ebp + 8], 0x80000
jne case.0x403b1d.11
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
jmp 0x40654c
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x40653b
sub eax, ebx
mov ebx, dword [ebp - 0x208]
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test ebx, ebx
je 0x40651b
add dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x200]
test edx, edx
je 0x40652b
add dword [ebp - 0x200], eax
mov edi, dword [ebp - 0x1fc]
test edi, edi
je 0x40653b
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x406575
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x4064d1
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x4064db
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0x1a
jmp 0x404bac
test dword [ebp + 8], 0x4000
jne case.0x403b1d.11
movzx ebx, byte [ebp - 0x1e8]
sub bl, 0x30
movzx esi, bl
cmp esi, dword [ebp - 0x20c]
ja 0x4066c6
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c8], ecx
mov edx, eax
dec edx
mov dword [ebp - 0x1c0], eax
js 0x4066bf
lea eax, [edx + edx*4]
lea eax, [ecx + eax*4 + 0x10]
jmp 0x4065e0
sub eax, 0x14
dec edx
js 0x4066bf
cmp dword [eax], esi
jne 0x4065d6
mov eax, 1
test al, al
jne case.0x403b1d.11
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [esi]
mov dword [ebp - 0x200], edx
mov eax, edx
mov esi, ecx
jmp 0x40667a
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], 0x10000
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [edi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, esi
je 0x406672
mov edi, dword [ebp - 0x208]
sub eax, esi
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test edi, edi
je 0x406652
add dword [ebp - 0x208], eax
mov esi, dword [ebp - 0x200]
test esi, esi
je 0x406662
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x406672
add dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1f0]
mov esi, ecx
mov edi, dword [ebp + 0xc]
sub eax, ecx
add eax, 2
mov edx, dword [edi + 4]
cmp eax, edx
jbe 0x4066ae
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x406608
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x406612
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 8
inc eax
mov byte [eax], bl
jmp 0x404bac
xor eax, eax
jmp 0x4065e9
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 6
jmp 0x403ebb
test dword [ebp + 8], 0x2000
je 0x4042e3
jmp case.0x4046a2.42
test dword [ebp + 8], 0x80000
jne case.0x403b1d.11
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
sub eax, ecx
mov ebx, ecx
inc eax
jmp 0x40678a
mov edi, dword [ebp + 0xc]
mov dword [edi + 4], 0x10000
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.cygwin1.dll_realloc
mov dword [esi], eax
test eax, eax
mov ecx, eax
je 0x403eea
cmp eax, ebx
je 0x406779
mov esi, dword [ebp - 0x208]
sub eax, ebx
add dword [ebp - 0x1f0], eax
add dword [ebp - 0x204], eax
test esi, esi
je 0x406759
add dword [ebp - 0x208], eax
mov ebx, dword [ebp - 0x200]
test ebx, ebx
je 0x406769
add dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x1fc]
test edx, edx
je 0x406779
add dword [ebp - 0x1fc], eax
mov edi, dword [ebp + 0xc]
mov ebx, ecx
mov eax, dword [ebp - 0x1f0]
mov edx, dword [edi + 4]
sub eax, ecx
inc eax
cmp eax, edx
jbe 0x4067b3
cmp edx, 0x10000
je 0x404bb8
lea eax, [edx + edx]
cmp eax, 0x10000
ja 0x40670f
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], eax
jmp 0x406719
mov eax, dword [ebp - 0x1f0]
mov byte [eax], 0xc
jmp 0x404bac
mov esi, dword [ebp - 0x1cc]
cmp byte [esi], 0x5d
jne 0x4056da
movzx ecx, byte [ebp - 0x1ce]
test cl, cl
je 0x4056da
dec bl
jne 0x40681d
cmp esi, dword [ebp - 0x1f4]
je 0x40458d
inc esi
mov al, cl
shr al, 3
mov dword [ebp - 0x1cc], esi
mov esi, dword [ebp - 0x1f0]
movzx edx, al
and ecx, 7
mov eax, 1
shl eax, cl
or byte [edx + esi], al
mov byte [ebp - 0x228], 1
jmp 0x4049b9
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 3
jmp 0x403ebb
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 0xd
jmp 0x403ebb
mov esi, dword [ebp - 0x1cc]
cmp byte [esi], 0x5d
jne 0x4057cd
movzx ecx, byte [ebp - 0x1b8]
test cl, cl
je 0x4057cd
dec bl
jne 0x40681d
cmp esi, dword [ebp - 0x1f4]
je 0x40458d
mov al, cl
mov ebx, dword [ebp - 0x1f0]
inc esi
mov dword [ebp - 0x1cc], esi
shr al, 3
and ecx, 7
movzx edx, al
mov eax, 1
shl eax, cl
or byte [edx + ebx], al
movzx esi, byte [ebp - 0x1b8]
mov dword [ebp - 0x22c], esi
jmp 0x4055a9
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, 0xb
jmp 0x403ebb
cmp byte [esi], 0xa
jmp 0x405a58