Function at 0x4d0989
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 0x4cda7b
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x4cda7b
cmp dword [ebp + 0xc], 0
jne 0x4cda90
call sym.__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x4d1432
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 0x4d13a3
mov eax, dword [ebp - 0x4c]
movzx eax, byte [eax]
test al, al
jne 0x4d13a3
mov dword [ebp - 0x4c], 0
jmp 0x4d13a3
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
jns 0x4cdbd7
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 0x4cdbd7
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 0x4cdb65
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 0x4cdbc4
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 0x4cdb97
mov eax, dword [ebp - 0x24]
jmp 0x4cdb9c
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 0x4d1432
sub dword [ebp - 0x50], 1
cmp dword [ebp - 0x50], 0
jg 0x4cdb26
jmp 0x4d13a3
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 0x4cdd61
movzx eax, byte [ebp - 0x29]
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x4cdc0c
mov dword [ebp - 0x28], 1
jmp 0x4d1387
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 0x4cdc6a
cmp dword [ebp - 0x24], 0
je 0x4cdc3d
mov eax, dword [ebp - 0x24]
jmp 0x4cdc42
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 0x4d1432
cmp dword [ebp - 0x28], 0
je 0x4cdcfd
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x4cdcfd
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 0x4cdceb
cmp dword [ebp - 0x24], 0
je 0x4cdcbe
mov eax, dword [ebp - 0x24]
jmp 0x4cdcc3
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 0x4d1432
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
jne 0x4cdc8d
movzx edx, byte [ebp - 0x29]
mov eax, dword [ebp - 0xb0]
cmp edx, eax
je 0x4d1387
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 0x4d1432
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 0x4cddfd
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 0x4cddcf
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 0x4cddaa
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x24
je 0x4cddf9
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc], eax
jmp 0x4cddfd
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x2a
jne 0x4cde10
or dword [ebp - 0x38], 0x80
jmp 0x4cde7f
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x27
jne 0x4cde29
cmp dword [ebp - 0x4c], 0
je 0x4cde7f
or dword [ebp - 0x38], 0x100
jmp 0x4cde7f
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x49
jne 0x4cde88
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x36
jne 0x4cde57
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x34
jne 0x4cde57
or dword [ebp - 0x38], 0xc
add dword [ebp - 0xc], 2
jmp 0x4cde7f
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x33
jne 0x4cde7b
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x32
jne 0x4cde7b
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 2
jmp 0x4cde7f
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 1
jmp 0x4cddfd
nop
jmp 0x4cdeb0
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 0x4cde8b
cmp dword [ebp - 0x34], 0
jne 0x4cdece
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
movsx eax, al
test eax, eax
je 0x4cdff4
test eax, eax
js case.0x4cdf0c.77
cmp eax, 0x7a
jg case.0x4cdf0c.77
cmp eax, 0x4c
jl case.0x4cdf0c.77
sub eax, 0x4c
cmp eax, 0x2e
ja case.0x4cdf0c.77
mov eax, dword [eax*4 + 0x50f2b0]
jmp eax
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x68
jne 0x4cdf23
mov eax, 1
jmp 0x4cdf28
mov eax, 2
or dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x68
jne 0x4ce022
add dword [ebp - 0xc], 1
jmp 0x4ce022
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x6c
jne 0x4cdf57
mov eax, 0xc
jmp 0x4cdf5c
mov eax, 4
or dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x6c
jne 0x4ce025
add dword [ebp - 0xc], 1
jmp 0x4ce025
add dword [ebp - 0xc], 1
or dword [ebp - 0x38], 0xc
jmp 0x4ce02c
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x73
je 0x4cdfaa
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x53
je 0x4cdfaa
mov eax, dword [ebp - 0xc]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x5b
jne 0x4ce028
add dword [ebp - 0xc], 1
or dword [ebp - 0x38], 0x200
jmp 0x4ce02c
or dword [ebp - 0x38], 0x400
add dword [ebp - 0xc], 1
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x6c
jne 0x4ce02b
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 1
jmp 0x4ce02b
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 1
jmp 0x4ce02c
or dword [ebp - 0x38], 8
add dword [ebp - 0xc], 1
jmp 0x4ce02c
or dword [ebp - 0x38], 4
add dword [ebp - 0xc], 1
jmp 0x4ce02c
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 0x4d1432
nop
jmp 0x4ce02c
nop
jmp 0x4ce02c
nop
jmp 0x4ce02c
nop
jmp 0x4ce02c
nop
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
jne 0x4ce061
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 0x4d1432
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 0x4ce09e
cmp byte [ebp - 0x29], 0x5b
je 0x4ce176
cmp byte [ebp - 0x29], 0x63
je 0x4ce176
cmp byte [ebp - 0x29], 0x43
je 0x4ce176
cmp byte [ebp - 0x29], 0x6e
je 0x4ce176
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 0x4ce0e4
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 0x4ce128
call sym.__errno
mov eax, dword [eax]
cmp eax, 4
jne 0x4ce128
cmp dword [ebp - 0x24], 0
je 0x4ce0fb
mov eax, dword [ebp - 0x24]
jmp 0x4ce100
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 0x4d1432
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
jne 0x4ce0b3
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 0x4ce186
cmp eax, 0x73
je 0x4ce196
jmp 0x4ce1aa
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x4ce1a6
mov byte [ebp - 0x29], 0x43
jmp 0x4ce1a6
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x4ce1a9
mov byte [ebp - 0x29], 0x53
jmp 0x4ce1a9
nop
jmp 0x4ce1aa
nop
movzx eax, byte [ebp - 0x29]
cmp eax, 0x67
jg 0x4ce21f
cmp eax, 0x25
jge 0x4ce20a
jmp case.0x4ce21d.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.0x4ce21d.88
mov edx, eax
and edx, 0x400
test edx, edx
setne dl
test dl, dl
jne 0x4cebf5
and eax, 0x20
test eax, eax
setne al
test al, al
jne 0x4ce2f4
jmp case.0x4ce21d.38
sub eax, 0x25
cmp eax, 0x42
ja case.0x4ce21d.38
mov eax, dword [eax*4 + 0x50f36c]
jmp eax
cmp eax, 0x78
jg case.0x4ce21d.38
cmp eax, 0x69
jge 0x4ce1bd
jmp case.0x4ce21d.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 0x4ce290
cmp dword [ebp - 0x24], 0
je 0x4ce263
mov eax, dword [ebp - 0x24]
jmp 0x4ce268
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 0x4d1432
movzx edx, byte [ebp - 0x29]
mov eax, dword [ebp - 0xb0]
cmp edx, eax
je 0x4d138a
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 0x4d1432
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d138d
mov eax, dword [ebp - 0x38]
and eax, 8
test eax, eax
je 0x4ce352
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x4ce330
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 0x4ce341
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 0x4d138d
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x4ce396
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x4ce37c
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 0x4ce38d
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 0x4d138d
mov eax, dword [ebp - 0x38]
and eax, 2
test eax, eax
je 0x4ce3db
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x4ce3c0
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 0x4ce3d1
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 0x4d138d
mov eax, dword [ebp - 0x38]
and eax, 1
test eax, eax
je 0x4ce41f
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x4ce405
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 0x4ce416
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 0x4d138d
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x30], 0
je 0x4ce43f
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 0x4ce450
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 0x4d138d
cmp dword [ebp - 0x34], 0xffffffff
jne 0x4ce466
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4ce5e8
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4ce586
cmp dword [ebp - 0x30], 0
je 0x4ce4a3
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 0x4ce4b7
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 0x4ce4e8
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 0x4d1432
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 0x4ce556
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4ce529
mov eax, dword [ebp - 0x24]
jmp 0x4ce52e
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 0x4d1432
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
lea ebx, [eax + 1]
mov dword [edx], ebx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 8], edx
jmp 0x4ce5e8
cmp dword [ebp - 0x30], 0
je 0x4ce5a3
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 0x4ce5b7
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 0x4ce5e8
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 0x4d1432
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 0x4ce646
cmp dword [ebp - 0x24], 0
je 0x4ce619
mov eax, dword [ebp - 0x24]
jmp 0x4ce61e
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 0x4d1432
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4ce74c
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4ce703
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, edx
cmp dword [ebp - 0x18], eax
jne 0x4ce703
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x34]
jl 0x4ce689
mov eax, dword [ebp - 0x34]
sub eax, 1
jmp 0x4ce68c
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x44], eax
jmp 0x4ce69f
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 0x4ce6c7
mov eax, dword [ebp - 0x14]
add eax, 1
cmp eax, dword [ebp - 0x44]
jb 0x4ce696
cmp dword [ebp - 0x18], 0
jne 0x4ce6ef
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 0x4d1432
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 0x4ce77d
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 0x4ce656
jmp 0x4ce77d
nop
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x4ce77d
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 0x4ce74d
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d1390
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 0x4d1390
cmp dword [ebp - 0x34], 0xffffffff
jne 0x4ce7c3
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4ce947
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4ce8e5
cmp dword [ebp - 0x30], 0
je 0x4ce800
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 0x4ce814
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 0x4ce845
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 0x4d1432
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 0x4ce8b5
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4ce888
mov eax, dword [ebp - 0x24]
jmp 0x4ce88d
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 0x4d1432
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
lea ebx, [eax + 1]
mov dword [edx], ebx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 8], edx
jmp 0x4ce947
cmp dword [ebp - 0x30], 0
je 0x4ce902
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 0x4ce916
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 0x4ce947
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 0x4d1432
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 0x4ce9a5
cmp dword [ebp - 0x24], 0
je 0x4ce978
mov eax, dword [ebp - 0x24]
jmp 0x4ce97d
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 0x4d1432
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 0x4cea93
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4cea93
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
add edx, edx
add eax, edx
cmp dword [ebp - 0x20], eax
jne 0x4cea93
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x34]
jle 0x4cea14
mov eax, dword [ebp - 0x34]
sub eax, 1
jmp 0x4cea17
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x44], eax
jmp 0x4cea2a
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 0x4cea55
mov eax, dword [ebp - 0x14]
add eax, 1
cmp eax, dword [ebp - 0x44]
jb 0x4cea21
cmp dword [ebp - 0x20], 0
jne 0x4cea7d
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 0x4d1432
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 0x4ceaa4
mov eax, dword [ebp - 0x20]
jmp 0x4ceaa9
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 0x4ceb40
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 0x4ceb32
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 0x4d1432
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0xbd], al
jmp 0x4ceb7c
cmp dword [ebp - 0x80], 1
je 0x4ceb81
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 0x4d1432
jmp 0x4cea93
nop
add dword [ebp - 0x20], 2
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x4cebba
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 0x4ce9c3
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d1393
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 0x4d1393
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4ced6f
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4ced0d
cmp dword [ebp - 0x30], 0
je 0x4cec32
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 0x4cec46
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 0x4cec77
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 0x4d1432
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 0x4cecdd
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4cecb0
mov eax, dword [ebp - 0x24]
jmp 0x4cecb5
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 0x4d1432
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
lea ebx, [eax + 1]
mov dword [edx], ebx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 8], edx
jmp 0x4ced6f
cmp dword [ebp - 0x30], 0
je 0x4ced2a
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 0x4ced3e
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 0x4ced6f
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 0x4d1432
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 0x4cedcd
cmp dword [ebp - 0x24], 0
je 0x4ceda0
mov eax, dword [ebp - 0x24]
jmp 0x4ceda5
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 0x4d1432
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isspace
test eax, eax
je 0x4cee0b
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 0x4cef45
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4cef0b
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 0x4cef0b
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, edx
cmp dword [ebp - 0x18], eax
jne 0x4cef0b
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x44], eax
jmp 0x4cee64
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 0x4cee8c
mov eax, dword [ebp - 0x14]
add eax, 1
cmp eax, dword [ebp - 0x44]
jb 0x4cee5b
cmp dword [ebp - 0x18], 0
jne 0x4ceef7
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4ceeb9
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
sub edx, 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 0x4ceeca
mov eax, dword [ebp - 0x24]
jmp 0x4ceecf
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 0x4d1432
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 0x4cef1b
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x4cef45
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 0x4cedcd
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d1396
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 0x4d1396
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4cf104
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4cf0a2
cmp dword [ebp - 0x30], 0
je 0x4cefc7
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 0x4cefdb
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 0x4cf00c
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 0x4d1432
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 0x4cf072
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4cf045
mov eax, dword [ebp - 0x24]
jmp 0x4cf04a
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 0x4d1432
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
lea ebx, [eax + 1]
mov dword [edx], ebx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 8], edx
jmp 0x4cf104
cmp dword [ebp - 0x30], 0
je 0x4cf0bf
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 0x4cf0d3
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 0x4cf104
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 0x4d1432
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 0x4cf162
cmp dword [ebp - 0x24], 0
je 0x4cf135
mov eax, dword [ebp - 0x24]
jmp 0x4cf13a
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 0x4d1432
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 0x4cf1be
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 0x4cf3f4
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0xbd], al
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4cf1db
mov eax, dword [ebp - 0x20]
jmp 0x4cf1e0
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 0x4cf277
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 0x4cf269
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 0x4d1432
mov eax, dword [ebp - 0xb0]
mov byte [ebp - 0xbd], al
jmp 0x4cf2ca
cmp dword [ebp - 0x80], 1
je 0x4cf2b3
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 0x4d1432
add dword [ebp - 0x20], 2
nop
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4cf3ba
jmp 0x4cf2cf
jmp 0x4cf1ca
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4cf3ba
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
add edx, edx
add eax, edx
cmp dword [ebp - 0x20], eax
jne 0x4cf3ba
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x44], eax
jmp 0x4cf307
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 0x4cf332
mov eax, dword [ebp - 0x14]
add eax, 1
cmp eax, dword [ebp - 0x44]
jb 0x4cf2fe
cmp dword [ebp - 0x20], 0
jne 0x4cf3a4
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4cf366
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
add edx, 0x7fffffff
add edx, edx
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 0x4cf377
mov eax, dword [ebp - 0x24]
jmp 0x4cf37c
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 0x4d1432
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 0x4cf3ca
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
jle 0x4cf3f4
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 0x4cf180
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d1399
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 0x4d1399
movzx eax, byte [ebp - 0x29]
sub eax, 0x58
cmp eax, 0x20
ja case.0x4cf450.89
mov eax, dword [eax*4 + 0x50f478]
jmp eax
or dword [ebp - 0x38], 0x10
mov dword [ebp - 0x3c], 0xa
jmp case.0x4cf450.89
or dword [ebp - 0x38], 0x10
mov dword [ebp - 0x3c], 0
jmp case.0x4cf450.89
mov dword [ebp - 0x3c], 8
jmp case.0x4cf450.89
mov dword [ebp - 0x3c], 0x10
and dword [ebp - 0x38], 0xfffffff1
or dword [ebp - 0x38], 0x24
jmp case.0x4cf450.89
mov dword [ebp - 0x3c], 0xa
jmp case.0x4cf450.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 0x4cf4f5
cmp dword [ebp - 0x24], 0
je 0x4cf4c8
mov eax, dword [ebp - 0x24]
jmp 0x4cf4cd
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 0x4d1432
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2b
je 0x4cf50b
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2d
jne 0x4cf570
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
cmp dword [ebp - 0x34], 0
jle 0x4cf555
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 0x4cf64e
mov eax, dword [ebp - 0xb0]
cmp eax, 0x30
jne 0x4cf64e
cmp dword [ebp - 0x34], 0
jle 0x4cf593
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
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 0x4cf641
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x78
jne 0x4cf641
cmp dword [ebp - 0x3c], 0
jne 0x4cf614
mov dword [ebp - 0x3c], 0x10
cmp dword [ebp - 0x3c], 0x10
jne 0x4cf64e
cmp dword [ebp - 0x34], 0
jle 0x4cf624
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 0x4cf64e
cmp dword [ebp - 0x3c], 0
jne 0x4cf64e
mov dword [ebp - 0x3c], 8
cmp dword [ebp - 0x3c], 0
jne 0x4cf82f
mov dword [ebp - 0x3c], 0xa
jmp 0x4cf82f
cmp dword [ebp - 0x3c], 0x10
jne 0x4cf685
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isxdigit
test eax, eax
jne 0x4cf7ca
jmp 0x4cf847
mov eax, dword [ebp - 0xb0]
sub eax, 0x30
cmp eax, 9
ja 0x4cf6a5
mov eax, dword [ebp - 0xb0]
sub eax, 0x2f
cmp dword [ebp - 0x3c], eax
jge 0x4cf7ca
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x3c], 0xa
jne 0x4cf847
mov eax, dword [ebp - 0x38]
and eax, 0x100
test eax, eax
je 0x4cf847
cmp dword [ebp - 0x34], 0
jle 0x4cf6d0
mov eax, dword [ebp - 0x34]
jmp 0x4cf6d5
mov eax, 0x7fffffff
mov dword [ebp - 0x58], eax
jmp 0x4cf718
add dword [ebp - 0x54], 1
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
test al, al
je 0x4cf731
cmp dword [ebp - 0x58], 0
je 0x4cf731
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 0x4cf731
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 0x4cf731
cmp dword [ebp - 0x58], 0
jns 0x4cf6da
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
test al, al
je 0x4cf7ba
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x4c], eax
jae 0x4cf846
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 0x4cf79a
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 dword [ebp - 0x4c], eax
jb 0x4cf770
mov eax, dword [ebp - 0x54]
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0xb0], eax
jmp 0x4cf846
cmp dword [ebp - 0x34], 0
jle 0x4cf7c6
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
cmp dword [ebp - 0x34], 0
jle 0x4cf814
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 0x4cf847
cmp dword [ebp - 0x34], 0
jne 0x4cf664
jmp 0x4cf847
nop
cmp dword [ebp - 0x40], 0
je 0x4cf875
cmp dword [ebp - 0x40], 1
jne 0x4cf93d
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax]
cmp al, 0x2b
je 0x4cf875
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4cf93d
cmp dword [ebp - 0x40], 0
jne 0x4cf8eb
mov eax, dword [ebp - 0x38]
and eax, 0x20
test eax, eax
je 0x4cf8eb
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 0x4cf8eb
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 0x4cf964
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 0x4d1432
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 0x4cfa0e
mov eax, dword [ebp - 0x38]
and eax, 0x10
test eax, eax
je 0x4cf9e1
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._strtoll
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
jmp 0x4cfa64
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._strtoull
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
jmp 0x4cfa64
mov eax, dword [ebp - 0x38]
and eax, 0x10
test eax, eax
je 0x4cfa3f
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 0x4cfa64
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 0x4cfa9f
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 0x4d1432
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d139c
mov eax, dword [ebp - 0x38]
and eax, 0x10
test eax, eax
je 0x4cfc0d
mov eax, dword [ebp - 0x38]
and eax, 8
test eax, eax
je 0x4cfb0a
cmp dword [ebp - 0x30], 0
je 0x4cfae3
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 0x4cfaf4
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 0x4cfd52
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x4cfb4c
cmp dword [ebp - 0x30], 0
je 0x4cfb2e
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 0x4cfb3f
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 0x4cfd52
mov eax, dword [ebp - 0x38]
and eax, 2
test eax, eax
je 0x4cfb91
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x30], 0
je 0x4cfb76
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 0x4cfb87
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 0x4cfd52
mov eax, dword [ebp - 0x38]
and eax, 1
test eax, eax
je 0x4cfbd5
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x30], 0
je 0x4cfbbb
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 0x4cfbcc
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 0x4cfd52
cmp dword [ebp - 0x30], 0
je 0x4cfbef
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 0x4cfc00
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 0x4cfd52
mov eax, dword [ebp - 0x38]
and eax, 8
test eax, eax
je 0x4cfc5a
cmp dword [ebp - 0x30], 0
je 0x4cfc33
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 0x4cfc44
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 0x4cfd52
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x4cfc9c
cmp dword [ebp - 0x30], 0
je 0x4cfc7e
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 0x4cfc8f
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 0x4cfd52
mov eax, dword [ebp - 0x38]
and eax, 2
test eax, eax
je 0x4cfcde
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x30], 0
je 0x4cfcc6
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 0x4cfcd7
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 0x4cfd52
mov eax, dword [ebp - 0x38]
and eax, 1
test eax, eax
je 0x4cfd1f
mov ebx, dword [ebp - 0xd8]
cmp dword [ebp - 0x30], 0
je 0x4cfd08
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 0x4cfd19
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 0x4cfd52
cmp dword [ebp - 0x30], 0
je 0x4cfd39
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 0x4cfd4a
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 0x4d139c
cmp dword [ebp - 0x34], 0
jle 0x4cfd65
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 0x4cfdc3
cmp dword [ebp - 0x24], 0
je 0x4cfd96
mov eax, dword [ebp - 0x24]
jmp 0x4cfd9b
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 0x4d1432
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 0x4cfdf6
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2b
jne 0x4cfe57
cmp dword [ebp - 0x34], 0
je 0x4cfe22
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 0x4cfe4d
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 0x4d1432
cmp dword [ebp - 0x34], 0
jle 0x4cfe57
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x6e
jne 0x4cff8e
mov dword [ebp - 0x5c], 0x50f2a2
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
add dword [ebp - 0x5c], 1
cmp dword [ebp - 0x34], 0
je 0x4cff02
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 0x4cff02
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
mov edx, eax
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax]
movsx eax, al
cmp edx, eax
je 0x4cff2d
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 0x4d1432
cmp dword [ebp - 0x34], 0
jle 0x4cff37
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
add dword [ebp - 0x5c], 1
mov eax, dword [ebp - 0x5c]
movzx eax, byte [eax]
test al, al
jne 0x4cfeb9
jmp 0x4d0710
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x69
jne 0x4d027a
mov dword [ebp - 0x60], 0x50f2a6
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
add dword [ebp - 0x60], 1
cmp dword [ebp - 0x34], 0
je 0x4d0039
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 0x4d0039
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
mov edx, eax
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax]
movsx eax, al
cmp edx, eax
je 0x4d0064
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 0x4d1432
cmp dword [ebp - 0x34], 0
jle 0x4d006e
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
add dword [ebp - 0x60], 1
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax]
test al, al
jne 0x4cfff0
cmp dword [ebp - 0x34], 0
je 0x4d0235
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 0x4d0235
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x69
jne 0x4d0235
mov dword [ebp - 0x60], str.inity
cmp dword [ebp - 0x34], 0
jle 0x4d011c
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
add dword [ebp - 0x60], 1
cmp dword [ebp - 0x34], 0
je 0x4d01a9
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 0x4d01a9
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
mov edx, eax
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax]
movsx eax, al
cmp edx, eax
je 0x4d01d4
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 0x4d1432
cmp dword [ebp - 0x34], 0
jle 0x4d01de
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
add dword [ebp - 0x60], 1
mov eax, dword [ebp - 0x60]
movzx eax, byte [eax]
test al, al
jne 0x4d0160
jmp 0x4d0710
cmp dword [ebp - 0x34], 0
je 0x4d0710
mov eax, dword [ebp - 0xb0]
cmp eax, 0xffffffff
je 0x4d0710
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 0x4d0710
mov byte [ebp - 0x47], 0x65
cmp dword [ebp - 0x34], 0
je 0x4d038d
mov eax, dword [ebp - 0xb0]
cmp eax, 0x30
jne 0x4d038d
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
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 0x4d02fc
sub dword [ebp - 0x34], 1
cmp dword [ebp - 0x34], 0
je 0x4d038d
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp eax, 0x78
jne 0x4d038d
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
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 0x4d038d
sub dword [ebp - 0x34], 1
mov eax, dword [ebp - 0xb0]
sub eax, 0x30
cmp eax, 9
jbe 0x4d03ef
cmp byte [ebp - 0x46], 0
jne 0x4d03bd
mov eax, dword [ebp - 0x38]
and eax, 0x40
test eax, eax
je 0x4d03bd
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._isxdigit
test eax, eax
jne 0x4d03ef
cmp byte [ebp - 0x46], 0
je 0x4d0434
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x40]
sub edx, 1
add eax, edx
movzx eax, byte [eax]
cmp byte [ebp - 0x47], al
jne 0x4d0434
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2d
je 0x4d03ef
mov eax, dword [ebp - 0xb0]
cmp eax, 0x2b
jne 0x4d0434
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 ebx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x40]
lea edx, [eax + 1]
mov dword [ebp - 0x40], edx
add eax, ecx
mov edx, ebx
mov byte [eax], dl
jmp 0x4d0690
cmp dword [ebp - 0x40], 0
je 0x4d04a0
cmp byte [ebp - 0x46], 0
jne 0x4d04a0
mov eax, dword [ebp - 0xb0]
mov dword [esp], eax
call sym._tolower
cmp byte [ebp - 0x47], al
jne 0x4d04a0
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 0x4d0690
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x34], 0
jle 0x4d04b1
mov eax, dword [ebp - 0x34]
jmp 0x4d04b6
mov eax, 0x7fffffff
mov dword [ebp - 0x68], eax
cmp byte [ebp - 0x45], 0
jne 0x4d0518
jmp 0x4d04ff
add dword [ebp - 0x64], 1
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
test al, al
je 0x4d0518
cmp dword [ebp - 0x68], 0
je 0x4d0518
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 0x4d0518
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 0x4d0518
cmp dword [ebp - 0x68], 0
jns 0x4d04c1
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
test al, al
jne 0x4d058c
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x64], eax
jmp 0x4d056d
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 0x4d052a
cmp dword [ebp - 0x34], 0
jle 0x4d0583
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x45], 1
jmp 0x4d0690
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6c], eax
cmp byte [ebp - 0x45], 0
jne 0x4d0649
mov eax, dword [ebp - 0x38]
and eax, 0x100
test eax, eax
je 0x4d0649
jmp 0x4d05b2
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 0x4d05de
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 0x4d05ae
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 0x4d0649
jmp 0x4d0630
add dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax]
test al, al
je 0x4d0649
cmp dword [ebp - 0x68], 0
je 0x4d0649
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 0x4d0649
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 0x4d0649
cmp dword [ebp - 0x68], 0
jns 0x4d05f2
cmp dword [ebp - 0x6c], 0
je 0x4d0667
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax]
test al, al
jne 0x4d0667
cmp dword [ebp - 0x34], 0
jle 0x4d0690
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x34], eax
jmp 0x4d0690
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 0x4d06cf
cmp dword [ebp - 0x34], 0
je 0x4d06cf
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 0x4d06cf
cmp dword [ebp - 0x34], 0
jle 0x4d038d
sub dword [ebp - 0x34], 1
jmp 0x4d038d
cmp dword [ebp - 0x40], 0
je 0x4d06e5
mov eax, dword [ebp - 0x38]
and eax, 0x40
test eax, eax
je 0x4d0710
cmp dword [ebp - 0x40], 2
jne 0x4d0710
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 0x4d1432
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 0x4d07f6
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 0x4d0935
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4d0935
cmp byte [ebp - 0x81], 0
je 0x4d07b2
fld xword [ebp - 0x9c]
fchs
fstp xword [ebp - 0xe8]
jmp 0x4d07be
fld xword [ebp - 0x9c]
fstp xword [ebp - 0xe8]
cmp dword [ebp - 0x30], 0
je 0x4d07d8
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 0x4d07e9
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 0x4d0935
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x4d08a3
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 0x4d0935
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4d0935
cmp byte [ebp - 0x81], 0
je 0x4d085f
fld qword [ebp - 0x90]
fchs
fstp qword [ebp - 0xe8]
jmp 0x4d086b
fld qword [ebp - 0x90]
fstp qword [ebp - 0xe8]
cmp dword [ebp - 0x30], 0
je 0x4d0885
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 0x4d0896
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 0x4d0935
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 0x4d0935
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4d0935
cmp byte [ebp - 0x81], 0
je 0x4d08f6
fld dword [ebp - 0x88]
fchs
fstp dword [ebp - 0xe8]
jmp 0x4d0902
fld dword [ebp - 0x88]
fstp dword [ebp - 0xe8]
cmp dword [ebp - 0x30], 0
je 0x4d091c
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 0x4d092d
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 0x4d0970
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 0x4d1432
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d139f
add dword [ebp - 0x24], 1
jmp 0x4d139f
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x4d0b18
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d0c92
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4d0ab2
cmp dword [ebp - 0x30], 0
je 0x4d09d4
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 0x4d09e8
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 0x4d0a19
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 0x4d1432
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 0x4d0a7f
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4d0a52
mov eax, dword [ebp - 0x24]
jmp 0x4d0a57
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 0x4d1432
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
lea ebx, [eax + 1]
mov dword [edx], ebx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 8], edx
jmp 0x4d0c92
cmp dword [ebp - 0x30], 0
je 0x4d0acf
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 0x4d0ae3
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 0x4d0c92
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 0x4d1432
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d0c92
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4d0c30
cmp dword [ebp - 0x30], 0
je 0x4d0b55
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 0x4d0b69
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 0x4d0b9a
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 0x4d1432
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 0x4d0c00
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4d0bd3
mov eax, dword [ebp - 0x24]
jmp 0x4d0bd8
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 0x4d1432
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call sym._resize_gcollect
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx]
lea ebx, [eax + 1]
mov dword [edx], ebx
mov edx, dword [ebp - 0x1c]
mov dword [ecx + eax*4 + 8], edx
jmp 0x4d0c92
cmp dword [ebp - 0x30], 0
je 0x4d0c4d
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 0x4d0c61
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 0x4d0c92
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 0x4d1432
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 0x4d0cae
add dword [ebp - 0xc], 1
cmp dword [ebp - 0x34], 0
jns 0x4d0cbb
mov dword [ebp - 0x34], 0x7fffffff
mov eax, dword [ebp - 0xa8]
cmp eax, 0xff
ja 0x4d0cfe
mov dword [ebp - 0xa8], 0x100
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x4d0cea
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 0x4d0d35
cmp byte [ebp - 0x29], 0x2d
jne 0x4d0db6
mov edx, dword [ebp - 0xac]
movzx eax, byte [ebp - 0x29]
add eax, edx
mov byte [eax], 1
add dword [ebp - 0xc], 1
jmp 0x4d0db6
cmp byte [ebp - 0x29], 0x2d
jne 0x4d0da7
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
je 0x4d0da7
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
cmp al, 0x5d
je 0x4d0da7
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 al, dl
jb 0x4d0da7
mov eax, dword [ebp - 0xc]
sub eax, 2
movzx eax, byte [eax]
mov byte [ebp - 0x29], al
jmp 0x4d0d9a
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 0x4d0d87
jmp 0x4d0db6
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 0x4d0dd5
cmp byte [ebp - 0x29], 0x5d
jne 0x4d0d4a
cmp byte [ebp - 0x29], 0
jne 0x4d0e06
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 0x4d1432
mov eax, dword [ebp - 0x38]
and eax, 4
test eax, eax
je 0x4d1115
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 0x4d0e82
cmp dword [ebp - 0x24], 0
je 0x4d0e55
mov eax, dword [ebp - 0x24]
jmp 0x4d0e5a
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 0x4d1432
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 - 0xac]
mov edx, dword [ebp - 0xb0]
add eax, edx
movzx eax, byte [eax]
cmp byte [ebp - 0x47], al
jne 0x4d0ee2
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 0x4d105a
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d1023
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 0x4d0f37
add dword [ebp - 0x10], 1
jmp 0x4d102d
mov dword [ebp - 0x10], 0
add dword [ebp - 0x20], 2
mov eax, dword [ebp - 0x38]
and eax, 0x600
test eax, eax
je 0x4d1023
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
add edx, edx
add eax, edx
cmp dword [ebp - 0x20], eax
jne 0x4d1023
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x44], eax
jmp 0x4d0f7a
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 0x4d0fa5
mov eax, dword [ebp - 0x14]
add eax, 1
cmp eax, dword [ebp - 0x44]
jb 0x4d0f71
cmp dword [ebp - 0x20], 0
jne 0x4d100d
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4d0fdb
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
add edx, 0x7fffffff
add edx, edx
add eax, edx
mov word [eax], 0
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4d0fe2
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 0x4d1432
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 0x4d1059
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 0x4d0ea0
jmp 0x4d105a
nop
cmp dword [ebp - 0x10], 0
je 0x4d1096
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 0x4d1432
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x4d10cc
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 0x4d1432
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d13a2
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 0x4d13a2
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 0x4d117c
cmp dword [ebp - 0x24], 0
je 0x4d114f
mov eax, dword [ebp - 0x24]
jmp 0x4d1154
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 0x4d1432
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb0]
add eax, edx
movzx eax, byte [eax]
cmp byte [ebp - 0x47], al
jne 0x4d11be
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 0x4d12e8
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d12b4
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 0x4d12b4
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
add eax, edx
cmp dword [ebp - 0x18], eax
jne 0x4d12b4
mov eax, dword [ebp - 0x14]
add eax, eax
mov dword [ebp - 0x44], eax
jmp 0x4d1217
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 0x4d123f
mov eax, dword [ebp - 0x14]
add eax, 1
cmp eax, dword [ebp - 0x44]
jb 0x4d120e
cmp dword [ebp - 0x18], 0
jne 0x4d12a0
mov eax, dword [ebp - 0x38]
and eax, 0x400
test eax, eax
jne 0x4d126e
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
sub edx, 1
add eax, edx
mov byte [eax], 0
mov dword [ebp - 0x1c], 0
add dword [ebp - 0x24], 1
jmp 0x4d1275
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 0x4d1432
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 0x4d12e8
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 0x4d117c
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x4d131e
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 0x4d1432
mov eax, dword [ebp - 0x38]
and eax, 0x80
test eax, eax
jne 0x4d13a2
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 0x4d13a2
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 0x4d1432
nop
jmp 0x4d13a3
nop
jmp 0x4d13a3
nop
jmp 0x4d13a3
nop
jmp 0x4d13a3
nop
jmp 0x4d13a3
nop
jmp 0x4d13a3
nop
jmp 0x4d13a3
nop
jmp 0x4d13a3
nop
jmp 0x4d13a3
nop
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test al, al
jne 0x4cdae7
cmp dword [ebp - 0x28], 0
je 0x4d140c
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 0x4d13b8
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