Function at 0x4078f2
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xf4
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xb4], eax
cmp dword [ebp + 8], 0
je 0x4049eb
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x4049eb
cmp dword [ebp + 0xc], 0
jne 0x404a00
call sym.__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x40837e
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xc8]
mov dword [esp], eax
call sym._memset
call sym._localeconv
mov eax, dword [eax]
mov dword [ebp - 0x70], eax
call sym._localeconv
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x4082ef
mov eax, dword [ebp - 0x4c]
movzx eax, byte [eax]
test al, al
jne 0x4082ef
mov dword [ebp - 0x4c], 0
jmp 0x4082ef
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
jns 0x404b47
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._strlen
lea edx, [ebp - 0xc8]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._mbrlen
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jle 0x404b47
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x404ad5
mov eax, dword [ebp - 0xc]
lea edx, [eax + 1]
mov dword [ebp - 0xc], edx
movzx eax, byte [eax]
movzx edx, al
mov eax, dword [ebp - 0xb0]
cmp edx, eax
je 0x404b34
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 1
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
cmp dword [ebp - 0x24], 0
je 0x404b07
mov eax, dword [ebp - 0x24]
jmp 0x404b0c
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
sub dword [ebp - 0x50], 1
cmp dword [ebp - 0x50], 0
jg 0x404a96
jmp 0x4082ef
mov eax, dword [ebp - 0xc]
lea edx, [eax + 1]
mov dword [ebp - 0xc], edx
movzx eax, byte [eax]
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0x25
je 0x404cd1
movzx eax, byte [ebp - 0x29]
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x404b7c
mov dword [ebp - 0x28], 1
jmp 0x4082ef
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x404bda
cmp dword [ebp - 0x24], 0
je 0x404bad
mov eax, dword [ebp - 0x24]
jmp 0x404bb2
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
cmp dword [ebp - 0x28], 0
je 0x404c6d
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x404c6d
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x404c5b
cmp dword [ebp - 0x24], 0
je 0x404c2e
mov eax, dword [ebp - 0x24]
jmp 0x404c33
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
jne 0x404bfd
movzx edx, byte [ebp - 0x29]
mov eax, dword [ebp - 0xb0]
cmp edx, eax
je 0x4082ef
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
cmp eax, 9
ja 0x404d6d
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xc]
lea edx, [eax + 1]
mov dword [ebp - 0xc], edx
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
mov dword [ebp - 0x30], eax
jmp 0x404d3f
mov edx, dword [ebp - 0x30]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov ecx, eax
mov eax, dword [ebp - 0xc]
lea edx, [eax + 1]
mov dword [ebp - 0xc], edx
movzx eax, byte [eax]
movzx eax, al
add eax, ecx
sub eax, 0x30
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
cmp eax, 9
jbe 0x404d1a
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x24
je 0x404d69
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc], eax
jmp 0x404d6d
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x2a
jne 0x404d80
or dword [ebp - 0x38], 0x80
jmp 0x404def
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x27
jne 0x404d99
cmp dword [ebp - 0x4c], 0
je 0x404def
or dword [ebp - 0x38], 0x100
jmp 0x404def
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x49
jne 0x404df8
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x36
jne 0x404dc7
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x34
jne 0x404dc7
or dword [ebp - 0x38], 0xc
add dword [ebp - 0xc], 2
jmp 0x404def
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x33
jne 0x404deb
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x32
jne 0x404deb
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 2
jmp 0x404def
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 1
jmp 0x404d6d
nop
jmp 0x404e20
mov edx, dword [ebp - 0x34]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov ecx, eax
mov eax, dword [ebp - 0xc]
lea edx, [eax + 1]
mov dword [ebp - 0xc], edx
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
add eax, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x30
cmp eax, 9
jbe 0x404dfb
cmp dword [ebp - 0x34], 0
jne 0x404e3e
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
movsx eax, al
test eax, eax
je 0x404f64
test eax, eax
js case.0x404e7c.77
cmp eax, 0x7a
jg case.0x404e7c.77
cmp eax, 0x4c
jl case.0x404e7c.77
sub eax, 0x4c
cmp eax, 0x2e
ja case.0x404e7c.77
mov eax, dword [eax*4 + 0x469ddc]
jmp eax
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x68
jne 0x404e93
mov eax, 1
jmp 0x404e98
mov eax, 2
or dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x68
jne 0x404f92
add dword [ebp - 0xc], 1
jmp 0x404f92
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x6c
jne 0x404ec7
mov eax, 0xc
jmp 0x404ecc
mov eax, 4
or dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x6c
jne 0x404f95
add dword [ebp - 0xc], 1
jmp 0x404f95
add dword [ebp - 0xc], 1
or dword [ebp - 0x38], 0xc
jmp 0x404f9c
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x73
je 0x404f1a
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x53
je 0x404f1a
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x5b
jne 0x404f98
add dword [ebp - 0xc], 1
or dword [ebp - 0x38], 0x200
jmp 0x404f9c
or dword [ebp - 0x38], 0x400
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x6c
jne 0x404f9b
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 1
jmp 0x404f9b
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 1
jmp 0x404f9c
or dword [ebp - 0x38], 8
add dword [ebp - 0xc], 1
jmp 0x404f9c
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 1
jmp 0x404f9c
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
nop
jmp 0x404f9c
nop
jmp 0x404f9c
nop
jmp 0x404f9c
nop
jmp 0x404f9c
nop
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
jne 0x404fd1
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xc]
lea edx, [eax + 1]
mov dword [ebp - 0xc], edx
movzx eax, byte [eax]
mov byte [ebp - 0x29], al
cmp dword [ebp - 0x28], 0
jne 0x40500e
cmp byte [ebp - 0x29], 0x5b
je 0x4050e6
cmp byte [ebp - 0x29], 0x63
je 0x4050e6
cmp byte [ebp - 0x29], 0x43
je 0x4050e6
cmp byte [ebp - 0x29], 0x6e
je 0x4050e6
call sym.__errno
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
call sym.__errno
mov dword [eax], 0
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x405054
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x405098
call sym.__errno
mov eax, dword [eax]
cmp eax, 4
jne 0x405098
cmp dword [ebp - 0x24], 0
je 0x40506b
mov eax, dword [ebp - 0x24]
jmp 0x405070
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
jne 0x405023
mov dword [ebp - 0x28], 0
call sym.__errno
mov edx, dword [ebp - 0x78]
mov dword [eax], edx
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
movzx eax, byte [ebp - 0x29]
cmp eax, 0x63
je 0x4050f6
cmp eax, 0x73
je 0x405106
jmp 0x40511a
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x405116
mov byte [ebp - 0x29], 0x43
jmp 0x405116
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x405119
mov byte [ebp - 0x29], 0x53
jmp 0x405119
nop
jmp 0x40511a
nop
movzx eax, byte [ebp - 0x29]
cmp eax, 0x67
jg 0x40518f
cmp eax, 0x25
jge 0x40517a
jmp case.0x40518d.38
sub eax, 0x69
mov edx, 1
mov ecx, eax
shl edx, cl
mov eax, edx
mov edx, eax
and edx, 0x90c1
test edx, edx
setne dl
test dl, dl
jne case.0x40518d.88
mov edx, eax
and edx, 0x400
test edx, edx
setne dl
test dl, dl
jne 0x405b65
and eax, 0x20
test eax, eax
setne al
test al, al
jne 0x405264
jmp case.0x40518d.38
sub eax, 0x25
cmp eax, 0x42
ja case.0x40518d.38
mov eax, dword [eax*4 + 0x469e98]
jmp eax
cmp eax, 0x78
jg case.0x40518d.38
cmp eax, 0x69
jge 0x40512d
jmp case.0x40518d.38
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x405200
cmp dword [ebp - 0x24], 0
je 0x4051d3
mov eax, dword [ebp - 0x24]
jmp 0x4051d8
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
movzx edx, byte [ebp - 0x29]
mov eax, dword [ebp - 0xb0]
cmp edx, eax
je 0x4082ef
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 1
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
mov eax, dword [ebp - 0x38]
and eax, 8
test eax, eax
je 0x4052c2
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x4052a0
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov ecx, eax
jmp 0x4052b1
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov ecx, dword [eax]
mov eax, ebx
mov edx, 0
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x4082ef
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x405306
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x4052ec
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x4052fd
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, ebx
mov dword [eax], edx
jmp 0x4082ef
mov eax, dword [ebp - 0x38]
and eax, 2
test eax, eax
je 0x40534b
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x405330
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x405341
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, ebx
mov word [eax], dx
jmp 0x4082ef
mov eax, dword [ebp - 0x38]
and eax, 1
test eax, eax
je 0x40538f
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x405375
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x405386
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, ebx
mov byte [eax], dl
jmp 0x4082ef
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x4053af
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x4053c0
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, ebx
mov dword [eax], edx
jmp 0x4082ef
cmp dword [ebp - 0x34], 0xffffffff
jne 0x4053d6
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x405558
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4054f6
cmp dword [ebp - 0x30], 0
je 0x405413
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x1c], eax
jmp 0x405427
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x405458
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x34]
mov edx, 0x400
cmp eax, edx
cmovg eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._malloc
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4054c6
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x405499
mov eax, dword [ebp - 0x24]
jmp 0x40549e
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
lea ebx, [edx + 1]
mov dword [eax], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 8], eax
jmp 0x405558
cmp dword [ebp - 0x30], 0
je 0x405513
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x18], eax
jmp 0x405527
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x405558
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x4055b6
cmp dword [ebp - 0x24], 0
je 0x405589
mov eax, dword [ebp - 0x24]
jmp 0x40558e
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4056bc
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x405673
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, edx
cmp dword [ebp - 0x18], eax
jne 0x405673
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x34]
jl 0x4055f9
mov eax, dword [ebp - 0x34]
sub eax, 1
jmp 0x4055fc
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x44], eax
jmp 0x40560f
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._realloc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x405637
mov eax, dword [ebp - 0x14]
add eax, 1
cmp dword [ebp - 0x44], eax
ja 0x405606
cmp dword [ebp - 0x18], 0
jne 0x40565f
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call sym._release_ptrs
mov eax, 0xffffffff
jmp 0x40837e
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x18]
lea edx, [eax + 1]
mov dword [ebp - 0x18], edx
mov edx, ecx
mov byte [eax], dl
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x4056ed
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x4055c6
jmp 0x4056ed
nop
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x4056ed
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x4056bd
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._optimize_alloc
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4082ef
cmp dword [ebp - 0x34], 0xffffffff
jne 0x405733
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4058b7
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x405855
cmp dword [ebp - 0x30], 0
je 0x405770
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x1c], eax
jmp 0x405784
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4057b5
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x34]
mov edx, 0x400
cmp eax, edx
cmovg eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [esp], eax
call sym._malloc
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x405825
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4057f8
mov eax, dword [ebp - 0x24]
jmp 0x4057fd
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
lea ebx, [edx + 1]
mov dword [eax], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 8], eax
jmp 0x4058b7
cmp dword [ebp - 0x30], 0
je 0x405872
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x20], eax
jmp 0x405886
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4058b7
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x405915
cmp dword [ebp - 0x24], 0
je 0x4058e8
mov eax, dword [ebp - 0x24]
jmp 0x4058ed
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call sym._memset
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0xbd], al
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x405a03
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x405a03
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, eax
add eax, edx
cmp dword [ebp - 0x20], eax
jne 0x405a03
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x34]
jle 0x405984
mov eax, dword [ebp - 0x34]
sub eax, 1
jmp 0x405987
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x44], eax
jmp 0x40599a
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._realloc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4059c5
mov eax, dword [ebp - 0x14]
add eax, 1
cmp dword [ebp - 0x44], eax
ja 0x405991
cmp dword [ebp - 0x20], 0
jne 0x4059ed
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call sym._release_ptrs
mov eax, 0xffffffff
jmp 0x40837e
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
add eax, eax
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x405a14
mov eax, dword [ebp - 0x20]
jmp 0x405a19
mov eax, 0
lea edx, [ebp - 0xd0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0xbd]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._mbrtowc
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xfffffffe
jne 0x405ab0
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x405aa2
call sym.__errno
mov dword [eax], 0x2a
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0xbd], al
jmp 0x405aec
cmp dword [ebp - 0x80], 1
je 0x405af1
call sym.__errno
mov dword [eax], 0x2a
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
jmp 0x405a03
nop
add dword [ebp - 0x20], 2
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x405b2a
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x405933
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._optimize_alloc
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4082ef
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x405cdf
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x405c7d
cmp dword [ebp - 0x30], 0
je 0x405ba2
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x1c], eax
jmp 0x405bb6
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x405be7
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov dword [ebp - 0x14], 0x64
mov dword [esp], 0x64
call sym._malloc
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x405c4d
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x405c20
mov eax, dword [ebp - 0x24]
jmp 0x405c25
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
lea ebx, [edx + 1]
mov dword [eax], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 8], eax
jmp 0x405cdf
cmp dword [ebp - 0x30], 0
je 0x405c9a
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x18], eax
jmp 0x405cae
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x405cdf
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x405d3d
cmp dword [ebp - 0x24], 0
je 0x405d10
mov eax, dword [ebp - 0x24]
jmp 0x405d15
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x405d7b
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 1
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
jmp 0x405eb5
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x405e7b
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x18]
lea edx, [eax + 1]
mov dword [ebp - 0x18], edx
mov edx, ecx
mov byte [eax], dl
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x405e7b
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, edx
cmp dword [ebp - 0x18], eax
jne 0x405e7b
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x44], eax
jmp 0x405dd4
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._realloc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x405dfc
mov eax, dword [ebp - 0x14]
add eax, 1
cmp dword [ebp - 0x44], eax
ja 0x405dcb
cmp dword [ebp - 0x18], 0
jne 0x405e67
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x405e29
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
sub eax, 1
add eax, edx
mov byte [eax], 0
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x405e3a
mov eax, dword [ebp - 0x24]
jmp 0x405e3f
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x34], 0
jle 0x405e8b
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x405eb5
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x405d3d
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
mov eax, dword [ebp - 0x18]
lea edx, [eax + 1]
mov dword [ebp - 0x18], edx
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._optimize_alloc
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4082ef
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x406074
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x406012
cmp dword [ebp - 0x30], 0
je 0x405f37
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x1c], eax
jmp 0x405f4b
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x405f7c
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov dword [ebp - 0x14], 0x64
mov dword [esp], 0xc8
call sym._malloc
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x405fe2
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x405fb5
mov eax, dword [ebp - 0x24]
jmp 0x405fba
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
lea ebx, [edx + 1]
mov dword [eax], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 8], eax
jmp 0x406074
cmp dword [ebp - 0x30], 0
je 0x40602f
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x20], eax
jmp 0x406043
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x406074
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x4060d2
cmp dword [ebp - 0x24], 0
je 0x4060a5
mov eax, dword [ebp - 0x24]
jmp 0x4060aa
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call sym._memset
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x40612e
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 1
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
jmp 0x406363
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0xbd], al
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x40614b
mov eax, dword [ebp - 0x20]
jmp 0x406150
mov eax, 0
lea edx, [ebp - 0xd0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
lea edx, [ebp - 0xbd]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._mbrtowc
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xfffffffe
jne 0x4061e7
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x4061d9
call sym.__errno
mov dword [eax], 0x2a
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0xbd], al
jmp 0x40623a
cmp dword [ebp - 0x80], 1
je 0x406223
call sym.__errno
mov dword [eax], 0x2a
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
add dword [ebp - 0x20], 2
nop
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x406329
jmp 0x40623f
jmp 0x40613a
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x406329
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, eax
add eax, edx
cmp dword [ebp - 0x20], eax
jne 0x406329
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x44], eax
jmp 0x406277
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._realloc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4062a2
mov eax, dword [ebp - 0x14]
add eax, 1
cmp dword [ebp - 0x44], eax
ja 0x40626e
cmp dword [ebp - 0x20], 0
jne 0x406313
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4062d5
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, 0x7fffffff
add eax, eax
add eax, edx
mov word [eax], 0
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4062e6
mov eax, dword [ebp - 0x24]
jmp 0x4062eb
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
add eax, eax
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x34], 0
jle 0x406339
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x406363
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x4060f0
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
mov eax, dword [ebp - 0x20]
lea edx, [eax + 2]
mov dword [ebp - 0x20], edx
mov word [eax], 0
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._optimize_alloc
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4082ef
movzx eax, byte [ebp - 0x29]
sub eax, 0x58
cmp eax, 0x20
ja case.0x4063bf.89
mov eax, dword [eax*4 + 0x469fa4]
jmp eax
or dword [ebp - 0x38], 0x10
mov dword [ebp - 0x3c], 0xa
jmp case.0x4063bf.89
or dword [ebp - 0x38], 0x10
mov dword [ebp - 0x3c], 0
jmp case.0x4063bf.89
mov dword [ebp - 0x3c], 8
jmp case.0x4063bf.89
mov dword [ebp - 0x3c], 0x10
and dword [ebp - 0x38], 0xfffffff1
or dword [ebp - 0x38], 0x24
jmp case.0x4063bf.89
mov dword [ebp - 0x3c], 0xa
jmp case.0x4063bf.89
mov dword [ebp - 0x3c], 0x10
nop
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x406464
cmp dword [ebp - 0x24], 0
je 0x406437
mov eax, dword [ebp - 0x24]
jmp 0x40643c
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2b
je 0x40647a
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2d
jne 0x4064df
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
cmp dword [ebp - 0x34], 0
jle 0x4064c4
sub dword [ebp - 0x34], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0x34], 0
je 0x4065bd
mov eax, dword [ebp - 0xb0]
cmp eax, 0x30
jne 0x4065bd
cmp dword [ebp - 0x34], 0
jle 0x406502
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0x34], 0
je 0x4065b0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x78
jne 0x4065b0
cmp dword [ebp - 0x3c], 0
jne 0x406583
mov dword [ebp - 0x3c], 0x10
cmp dword [ebp - 0x3c], 0x10
jne 0x4065bd
cmp dword [ebp - 0x34], 0
jle 0x406593
sub dword [ebp - 0x34], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
jmp 0x4065bd
cmp dword [ebp - 0x3c], 0
jne 0x4065bd
mov dword [ebp - 0x3c], 8
cmp dword [ebp - 0x3c], 0
jne 0x40679e
mov dword [ebp - 0x3c], 0xa
jmp 0x40679e
cmp dword [ebp - 0x3c], 0x10
jne 0x4065f4
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isxdigit
test eax, eax
jne 0x406739
jmp 0x4067b6
mov eax, dword [ebp - 0xb0]
sub eax, 0x30
cmp eax, 9
ja 0x406614
mov eax, dword [ebp - 0xb0]
sub eax, 0x2f
cmp dword [ebp - 0x3c], eax
jge 0x406739
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x3c], 0xa
jne 0x4067b6
mov eax, dword [ebp - 0x38]
and eax, 0x100
test eax, eax
je 0x4067b6
cmp dword [ebp - 0x34], 0
jle 0x40663f
mov eax, dword [ebp - 0x34]
jmp 0x406644
mov eax, 0x7fffffff
mov dword [ebp - 0x58], eax
jmp 0x406687
add dword [ebp - 0x54], 1
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
test al, al
je 0x4066a0
cmp dword [ebp - 0x58], 0
je 0x4066a0
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x4066a0
sub dword [ebp - 0x58], 1
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
movzx edx, al
mov eax, dword [ebp - 0xb0]
cmp edx, eax
jne 0x4066a0
cmp dword [ebp - 0x58], 0
jns 0x406649
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
test al, al
je 0x406729
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x4c]
jbe 0x4067b5
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
jmp 0x406709
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
movzx eax, al
mov dword [esp + 0xc], 1
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
sub dword [ebp - 0x54], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x4c]
ja 0x4066df
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0xb0], eax
jmp 0x4067b5
cmp dword [ebp - 0x34], 0
jle 0x406735
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
sub dword [ebp - 0x40], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
cmp dword [ebp - 0x34], 0
jle 0x406783
sub dword [ebp - 0x34], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x4067b6
cmp dword [ebp - 0x34], 0
jne 0x4065d3
jmp 0x4067b6
nop
cmp dword [ebp - 0x40], 0
je 0x4067e4
cmp dword [ebp - 0x40], 1
jne 0x4068ac
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax]
cmp al, 0x2b
je 0x4067e4
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4068ac
cmp dword [ebp - 0x40], 0
jne 0x40685a
mov eax, dword [ebp - 0x38]
and eax, 0x20
test eax, eax
je 0x40685a
mov dword [esp + 0xc], str._nil_
lea eax, [ebp - 0xb0]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._match_string
test eax, eax
je 0x40685a
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov byte [eax], 0x30
jmp 0x4068d3
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov byte [eax], 0
mov eax, dword [ebp - 0x38]
and eax, 8
test eax, eax
je 0x40697d
mov eax, dword [ebp - 0x38]
and eax, 0x10
test eax, eax
je 0x406950
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x3c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strtoimax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
jmp 0x4069d3
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x3c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strtoumax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
jmp 0x4069d3
mov eax, dword [ebp - 0x38]
and eax, 0x10
test eax, eax
je 0x4069ae
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x3c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strtol
mov dword [ebp - 0xd8], eax
jmp 0x4069d3
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x3c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._strtoul
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb8]
cmp edx, eax
jne 0x406a0e
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
mov eax, dword [ebp - 0x38]
and eax, 0x10
test eax, eax
je 0x406b7c
mov eax, dword [ebp - 0x38]
and eax, 8
test eax, eax
je 0x406a79
cmp dword [ebp - 0x30], 0
je 0x406a52
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov ecx, eax
jmp 0x406a63
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x406cc1
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x406abb
cmp dword [ebp - 0x30], 0
je 0x406a9d
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x406aae
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0xd8]
mov dword [eax], edx
jmp 0x406cc1
mov eax, dword [ebp - 0x38]
and eax, 2
test eax, eax
je 0x406b00
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x30], 0
je 0x406ae5
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x406af6
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, ebx
mov word [eax], dx
jmp 0x406cc1
mov eax, dword [ebp - 0x38]
and eax, 1
test eax, eax
je 0x406b44
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x30], 0
je 0x406b2a
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x406b3b
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, ebx
mov byte [eax], dl
jmp 0x406cc1
cmp dword [ebp - 0x30], 0
je 0x406b5e
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x406b6f
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0xd8]
mov dword [eax], edx
jmp 0x406cc1
mov eax, dword [ebp - 0x38]
and eax, 8
test eax, eax
je 0x406bc9
cmp dword [ebp - 0x30], 0
je 0x406ba2
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov ecx, eax
jmp 0x406bb3
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xd4]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x406cc1
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x406c0b
cmp dword [ebp - 0x30], 0
je 0x406bed
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x406bfe
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0xd8]
mov dword [eax], edx
jmp 0x406cc1
mov eax, dword [ebp - 0x38]
and eax, 2
test eax, eax
je 0x406c4d
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x30], 0
je 0x406c35
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x406c46
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, ebx
mov word [eax], dx
jmp 0x406cc1
mov eax, dword [ebp - 0x38]
and eax, 1
test eax, eax
je 0x406c8e
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x30], 0
je 0x406c77
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x406c88
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, ebx
mov byte [eax], dl
jmp 0x406cc1
cmp dword [ebp - 0x30], 0
je 0x406ca8
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x406cb9
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0xd8]
mov dword [eax], edx
add dword [ebp - 0x24], 1
jmp 0x4082ef
cmp dword [ebp - 0x34], 0
jle 0x406cd4
sub dword [ebp - 0x34], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x406d32
cmp dword [ebp - 0x24], 0
je 0x406d05
mov eax, dword [ebp - 0x24]
jmp 0x406d0a
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov byte [ebp - 0x46], 0
movzx eax, byte [ebp - 0x46]
mov byte [ebp - 0x45], al
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2d
sete al
mov byte [ebp - 0x81], al
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2d
je 0x406d65
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2b
jne 0x406dc6
cmp dword [ebp - 0x34], 0
je 0x406d91
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x406dbc
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
cmp dword [ebp - 0x34], 0
jle 0x406dc6
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x6e
jne 0x406efb
mov dword [ebp - 0x5c], 0x469dce
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
add dword [ebp - 0x5c], 1
cmp dword [ebp - 0x34], 0
je 0x406e6f
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x406e6f
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
mov edx, dword [ebp - 0x5c]
movzx edx, byte [edx]
movsx edx, dl
cmp eax, edx
je 0x406e9a
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
cmp dword [ebp - 0x34], 0
jle 0x406ea4
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
add dword [ebp - 0x5c], 1
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax]
test al, al
jne 0x406e28
jmp 0x407679
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x69
jne 0x4071e3
mov dword [ebp - 0x60], 0x469dd2
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
add dword [ebp - 0x60], 1
cmp dword [ebp - 0x34], 0
je 0x406fa4
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x406fa4
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
mov edx, dword [ebp - 0x60]
movzx edx, byte [edx]
movsx edx, dl
cmp eax, edx
je 0x406fcf
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
cmp dword [ebp - 0x34], 0
jle 0x406fd9
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
add dword [ebp - 0x60], 1
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax]
test al, al
jne 0x406f5d
cmp dword [ebp - 0x34], 0
je 0x40719e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x40719e
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x69
jne 0x40719e
mov dword [ebp - 0x60], str.inity
cmp dword [ebp - 0x34], 0
jle 0x407087
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
add dword [ebp - 0x60], 1
cmp dword [ebp - 0x34], 0
je 0x407112
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x407112
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
mov edx, dword [ebp - 0x60]
movzx edx, byte [edx]
movsx edx, dl
cmp eax, edx
je 0x40713d
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
cmp dword [ebp - 0x34], 0
jle 0x407147
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
add dword [ebp - 0x60], 1
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax]
test al, al
jne 0x4070cb
jmp 0x407679
cmp dword [ebp - 0x34], 0
je 0x407679
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x407679
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
jmp 0x407679
mov byte [ebp - 0x47], 0x65
cmp dword [ebp - 0x34], 0
je 0x4072f6
mov eax, dword [ebp - 0xb0]
cmp eax, 0x30
jne 0x4072f6
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0x34], 0
jle 0x407265
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
je 0x4072f6
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x78
jne 0x4072f6
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
or dword [ebp - 0x38], 0x40
mov byte [ebp - 0x47], 0x70
and dword [ebp - 0x38], 0xfffffeff
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0x34], 0
jle 0x4072f6
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xb0]
sub eax, 0x30
cmp eax, 9
jbe 0x407358
cmp byte [ebp - 0x46], 0
jne 0x407326
mov eax, dword [ebp - 0x38]
and eax, 0x40
test eax, eax
je 0x407326
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isxdigit
test eax, eax
jne 0x407358
cmp byte [ebp - 0x46], 0
je 0x40739d
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
sub eax, 1
add eax, edx
movzx eax, byte [eax]
cmp byte [ebp - 0x47], al
jne 0x40739d
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2d
je 0x407358
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2b
jne 0x40739d
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ebx
mov edx, ecx
mov byte [eax], dl
jmp 0x4075f9
cmp dword [ebp - 0x40], 0
je 0x407409
cmp byte [ebp - 0x46], 0
jne 0x407409
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp byte [ebp - 0x47], al
jne 0x407409
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
lea edx, [ecx + eax]
movzx eax, byte [ebp - 0x47]
mov byte [edx], al
mov byte [ebp - 0x45], 1
movzx eax, byte [ebp - 0x45]
mov byte [ebp - 0x46], al
jmp 0x4075f9
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x34], 0
jle 0x40741a
mov eax, dword [ebp - 0x34]
jmp 0x40741f
mov eax, 0x7fffffff
mov dword [ebp - 0x68], eax
cmp byte [ebp - 0x45], 0
jne 0x407481
jmp 0x407468
add dword [ebp - 0x64], 1
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
test al, al
je 0x407481
cmp dword [ebp - 0x68], 0
je 0x407481
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x407481
sub dword [ebp - 0x68], 1
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
movzx edx, al
mov eax, dword [ebp - 0xb0]
cmp edx, eax
jne 0x407481
cmp dword [ebp - 0x68], 0
jns 0x40742a
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
test al, al
jne 0x4074f5
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x64], eax
jmp 0x4074d6
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
mov byte [edx], al
add dword [ebp - 0x64], 1
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
test al, al
jne 0x407493
cmp dword [ebp - 0x34], 0
jle 0x4074ec
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x45], 1
jmp 0x4075f9
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
cmp byte [ebp - 0x45], 0
jne 0x4075b2
mov eax, dword [ebp - 0x38]
and eax, 0x100
test eax, eax
je 0x4075b2
jmp 0x40751b
add dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x4c]
mov edx, eax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x70]
cmp edx, eax
jge 0x407547
mov eax, dword [ebp - 0x6c]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x4c]
mov ecx, eax
mov eax, dword [ebp - 0x70]
add eax, ecx
movzx eax, byte [eax]
cmp dl, al
je 0x407517
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x4c]
mov edx, eax
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x70]
cmp edx, eax
jne 0x4075b2
jmp 0x407599
add dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax]
test al, al
je 0x4075b2
cmp dword [ebp - 0x68], 0
je 0x4075b2
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x4075b2
sub dword [ebp - 0x68], 1
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax]
movzx edx, al
mov eax, dword [ebp - 0xb0]
cmp edx, eax
jne 0x4075b2
cmp dword [ebp - 0x68], 0
jns 0x40755b
cmp dword [ebp - 0x6c], 0
je 0x4075d0
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax]
test al, al
jne 0x4075d0
cmp dword [ebp - 0x34], 0
jle 0x4075f9
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x34], eax
jmp 0x4075f9
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
jmp 0x407638
cmp dword [ebp - 0x34], 0
je 0x407638
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x407638
cmp dword [ebp - 0x34], 0
jle 0x4072f6
sub dword [ebp - 0x34], 1
jmp 0x4072f6
cmp dword [ebp - 0x40], 0
je 0x40764e
mov eax, dword [ebp - 0x38]
and eax, 0x40
test eax, eax
je 0x407679
cmp dword [ebp - 0x40], 2
jne 0x407679
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call sym._resize_wbuf
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov byte [eax], 0
mov eax, dword [ebp - 0x38]
and eax, 8
test eax, eax
je 0x40775f
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.___strtold
fstp xword [ebp - 0x9c]
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x40789e
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x40789e
cmp byte [ebp - 0x81], 0
je 0x40771b
fld xword [ebp - 0x9c]
fchs
fstp xword [ebp - 0xe8]
jmp 0x407727
fld xword [ebp - 0x9c]
fstp xword [ebp - 0xe8]
cmp dword [ebp - 0x30], 0
je 0x407741
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x407752
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
fld xword [ebp - 0xe8]
fstp xword [eax]
jmp 0x40789e
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x40780c
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.___strtold
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x40789e
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x40789e
cmp byte [ebp - 0x81], 0
je 0x4077c8
fld qword [ebp - 0x90]
fchs
fstp qword [ebp - 0xe8]
jmp 0x4077d4
fld qword [ebp - 0x90]
fstp qword [ebp - 0xe8]
cmp dword [ebp - 0x30], 0
je 0x4077ee
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x4077ff
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
fld qword [ebp - 0xe8]
fstp qword [eax]
jmp 0x40789e
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xb8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.___strtof
fstp dword [ebp - 0x88]
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x40789e
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x40789e
cmp byte [ebp - 0x81], 0
je 0x40785f
fld dword [ebp - 0x88]
fchs
fstp dword [ebp - 0xe8]
jmp 0x40786b
fld dword [ebp - 0x88]
fstp dword [ebp - 0xe8]
cmp dword [ebp - 0x30], 0
je 0x407885
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
jmp 0x407896
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
fld dword [ebp - 0xe8]
fstp dword [eax]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb8]
cmp edx, eax
jne 0x4078d9
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
add dword [ebp - 0x24], 1
jmp 0x4082ef
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x407a81
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x407bfb
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x407a1b
cmp dword [ebp - 0x30], 0
je 0x40793d
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x1c], eax
jmp 0x407951
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x407982
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov dword [ebp - 0x14], 0x64
mov dword [esp], 0xc8
call sym._malloc
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x4079e8
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4079bb
mov eax, dword [ebp - 0x24]
jmp 0x4079c0
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
lea ebx, [edx + 1]
mov dword [eax], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 8], eax
jmp 0x407bfb
cmp dword [ebp - 0x30], 0
je 0x407a38
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x20], eax
jmp 0x407a4c
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x407bfb
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x407bfb
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x407b99
cmp dword [ebp - 0x30], 0
je 0x407abe
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x1c], eax
jmp 0x407ad2
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x407b03
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov dword [ebp - 0x14], 0x64
mov dword [esp], 0x64
call sym._malloc
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x407b69
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x407b3c
mov eax, dword [ebp - 0x24]
jmp 0x407b41
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
lea ebx, [edx + 1]
mov dword [eax], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + edx*4 + 8], eax
jmp 0x407bfb
cmp dword [ebp - 0x30], 0
je 0x407bb6
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call sym._get_va_nth
mov dword [ebp - 0x18], eax
jmp 0x407bca
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x407bfb
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x5e
sete al
mov byte [ebp - 0x47], al
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x5e
jne 0x407c17
add dword [ebp - 0xc], 1
cmp dword [ebp - 0x34], 0
jns 0x407c24
mov dword [ebp - 0x34], 0x7fffffff
mov eax, dword [ebp - 0xa8]
cmp eax, 0xff
ja 0x407c67
mov dword [ebp - 0xa8], 0x100
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x407c53
mov eax, dword [ebp - 0xac]
mov dword [esp], eax
call sym._free
mov eax, dword [ebp - 0xa8]
mov dword [esp], eax
call sym._malloc
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], 0x100
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._memset
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0x5d
je 0x407c9e
cmp byte [ebp - 0x29], 0x2d
jne 0x407d1f
mov edx, dword [ebp - 0xac]
movzx eax, byte [ebp - 0x29]
add eax, edx
mov byte [eax], 1
add dword [ebp - 0xc], 1
jmp 0x407d1f
cmp byte [ebp - 0x29], 0x2d
jne 0x407d10
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
je 0x407d10
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x5d
je 0x407d10
mov eax, dword [ebp - 0xc]
sub eax, 2
movzx eax, byte [eax]
mov edx, eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp dl, al
ja 0x407d10
mov eax, dword [ebp - 0xc]
sub eax, 2
movzx eax, byte [eax]
mov byte [ebp - 0x29], al
jmp 0x407d03
mov edx, dword [ebp - 0xac]
movzx eax, byte [ebp - 0x29]
add eax, edx
mov byte [eax], 1
add byte [ebp - 0x29], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp byte [ebp - 0x29], al
jb 0x407cf0
jmp 0x407d1f
mov edx, dword [ebp - 0xac]
movzx eax, byte [ebp - 0x29]
add eax, edx
mov byte [eax], 1
mov eax, dword [ebp - 0xc]
lea edx, [eax + 1]
mov dword [ebp - 0xc], edx
movzx eax, byte [eax]
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0x407d3e
cmp byte [ebp - 0x29], 0x5d
jne 0x407cb3
cmp byte [ebp - 0x29], 0
jne 0x407d6f
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x40807d
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x407deb
cmp dword [ebp - 0x24], 0
je 0x407dbe
mov eax, dword [ebp - 0x24]
jmp 0x407dc3
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call sym._memset
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb0]
add eax, edx
movzx eax, byte [eax]
cmp byte [ebp - 0x47], al
jne 0x407e4b
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 1
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
jmp 0x407fc2
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x407f8b
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0xbd], al
lea eax, [ebp - 0xd0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
lea eax, [ebp - 0xbd]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call sym._mbrtowc
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0xfffffffe
jne 0x407ea0
add dword [ebp - 0x10], 1
jmp 0x407f95
mov dword [ebp - 0x10], 0
add dword [ebp - 0x20], 2
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x407f8b
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, eax
add eax, edx
cmp dword [ebp - 0x20], eax
jne 0x407f8b
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x44], eax
jmp 0x407ee3
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._realloc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x407f0e
mov eax, dword [ebp - 0x14]
add eax, 1
cmp dword [ebp - 0x44], eax
ja 0x407eda
cmp dword [ebp - 0x20], 0
jne 0x407f75
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x407f43
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, 0x7fffffff
add eax, eax
add eax, edx
mov word [eax], 0
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x407f4a
mov dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
add eax, eax
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x407fc1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x407e09
jmp 0x407fc2
nop
cmp dword [ebp - 0x10], 0
je 0x407ffe
call sym.__errno
mov dword [eax], 0x2a
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x408034
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
mov eax, dword [ebp - 0x20]
lea edx, [eax + 2]
mov dword [ebp - 0x20], edx
mov word [eax], 0
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._optimize_alloc
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4082ef
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x4080e4
cmp dword [ebp - 0x24], 0
je 0x4080b7
mov eax, dword [ebp - 0x24]
jmp 0x4080bc
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb0]
add eax, edx
movzx eax, byte [eax]
cmp byte [ebp - 0x47], al
jne 0x408126
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 1
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
jmp 0x408250
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x40821c
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x18]
lea edx, [eax + 1]
mov dword [ebp - 0x18], edx
mov edx, ecx
mov byte [eax], dl
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x40821c
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, edx
cmp dword [ebp - 0x18], eax
jne 0x40821c
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x44], eax
jmp 0x40817f
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x44]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._realloc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4081a7
mov eax, dword [ebp - 0x14]
add eax, 1
cmp dword [ebp - 0x44], eax
ja 0x408176
cmp dword [ebp - 0x18], 0
jne 0x408208
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4081d6
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
sub eax, 1
add eax, edx
mov byte [eax], 0
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4081dd
mov dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x408250
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
jne 0x4080e4
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x408286
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4082ef
mov eax, dword [ebp - 0x18]
lea edx, [eax + 1]
mov dword [ebp - 0x18], edx
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym._optimize_alloc
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4082ef
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
jmp 0x40837e
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
jne 0x404a57
cmp dword [ebp - 0x28], 0
je 0x408358
nop
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._in_ch
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
jne 0x408304
mov eax, dword [ebp - 0xb0]
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xa4]
mov dword [esp + 8], edx
mov edx, dword [ebp + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._back_ch
lea eax, [ebp - 0xac]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym._cleanup_return
mov ebx, dword [ebp - 4]
leave
ret