Function at 0x4687c5
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 - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xac], 0
mov word [ebp - 0xae], 0
mov word [ebp - 0x1e], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x40], 0
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xb4], eax
cmp dword [ebp + 8], 0
je 0x465875
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x465875
cmp dword [ebp + 0xc], 0
jne 0x46588a
call sub.msvcrt.dll__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x4696a6
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xc8]
mov dword [esp], eax
call sub.msvcrt.dll_memset
call sub.msvcrt.dll_localeconv
mov eax, dword [eax]
lea edx, [ebp - 0xc8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
lea eax, [ebp - 0xbc]
mov dword [esp], eax
call fcn.00473fec
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x4658e5
movzx eax, word [ebp - 0xbc]
jmp 0x4658ea
mov eax, 0x2e
mov word [ebp - 0x5e], ax
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xc8]
mov dword [esp], eax
call sub.msvcrt.dll_memset
call sub.msvcrt.dll_localeconv
mov eax, dword [eax + 4]
lea edx, [ebp - 0xc8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x10
mov dword [esp + 4], eax
lea eax, [ebp - 0xbc]
mov dword [esp], eax
call fcn.00473fec
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x46594a
movzx eax, word [ebp - 0xbc]
jmp 0x46594f
mov eax, 0
mov word [ebp - 0x60], ax
jmp 0x469604
mov eax, dword [ebp - 0xc]
lea edx, [eax + 2]
mov dword [ebp - 0xc], edx
movzx eax, word [eax]
movzx eax, ax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x25
je 0x465b1f
mov eax, dword [ebp - 0x30]
movzx eax, ax
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
je 0x46599a
mov dword [ebp - 0x24], 1
jmp 0x4695e8
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4659fd
cmp word [ebp - 0x1e], 0
je 0x4659d0
movzx eax, word [ebp - 0x1e]
jmp 0x4659d5
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
cmp dword [ebp - 0x24], 0
je 0x465ab5
mov dword [ebp - 0x24], 0
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
je 0x465ab5
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x465a93
cmp word [ebp - 0x1e], 0
je 0x465a66
movzx eax, word [ebp - 0x1e]
jmp 0x465a6b
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
jne 0x465a30
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x4695e8
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
movzx eax, ax
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
je 0x465bd5
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0xc]
lea edx, [eax + 2]
mov dword [ebp - 0xc], edx
movzx eax, word [eax]
movzx eax, ax
sub eax, 0x30
mov dword [ebp - 0x34], eax
jmp 0x465b99
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 + 2]
mov dword [ebp - 0xc], edx
movzx eax, word [eax]
movzx eax, ax
add eax, ecx
sub eax, 0x30
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
movzx eax, ax
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
jne 0x465b74
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x24
je 0x465bd1
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xc], eax
jmp 0x465bd5
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x2a
jne 0x465bea
or dword [ebp - 0x3c], 0x80
jmp 0x465c66
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x27
jne 0x465c06
cmp word [ebp - 0x60], 0
je 0x465c66
or dword [ebp - 0x3c], 0x100
jmp 0x465c66
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x49
jne 0x465c6f
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x36
jne 0x465c3a
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x34
jne 0x465c3a
or dword [ebp - 0x3c], 0xc
add dword [ebp - 0xc], 4
jmp 0x465c66
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x33
jne 0x465c62
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x32
jne 0x465c62
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 4
jmp 0x465c66
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x465bd5
nop
jmp 0x465c97
mov edx, dword [ebp - 0x38]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov ecx, eax
mov eax, dword [ebp - 0xc]
lea edx, [eax + 2]
mov dword [ebp - 0xc], edx
movzx eax, word [eax]
movzx eax, al
sub eax, 0x30
add eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
movzx eax, al
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
jne 0x465c72
cmp dword [ebp - 0x38], 0
jne 0x465cc1
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
movzx eax, ax
test eax, eax
je 0x465dfb
test eax, eax
js case.0x465cff.77
cmp eax, 0x7a
jg case.0x465cff.77
cmp eax, 0x4c
jl case.0x465cff.77
sub eax, 0x4c
cmp eax, 0x2e
ja case.0x465cff.77
mov eax, dword [eax*4 + 0x47f780]
jmp eax
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x465d18
mov eax, 1
jmp 0x465d1d
mov eax, 2
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x465e2a
add dword [ebp - 0xc], 2
jmp 0x465e2a
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x465d50
mov eax, 0xc
jmp 0x465d55
mov eax, 4
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x465e2d
add dword [ebp - 0xc], 2
jmp 0x465e2d
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0xc
jmp 0x465e34
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x73
je 0x465daf
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x53
je 0x465daf
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x5b
jne 0x465e30
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0x200
jmp 0x465e34
or dword [ebp - 0x3c], 0x400
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x465e33
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x465e33
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x465e34
or dword [ebp - 0x3c], 8
add dword [ebp - 0xc], 2
jmp 0x465e34
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x465e34
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
nop
jmp 0x465e34
nop
jmp 0x465e34
nop
jmp 0x465e34
nop
jmp 0x465e34
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x465e6b
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xc]
lea edx, [eax + 2]
mov dword [ebp - 0xc], edx
movzx eax, word [eax]
movzx eax, ax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x24], 0
jne 0x465eab
cmp dword [ebp - 0x30], 0x5b
je 0x465f9a
cmp dword [ebp - 0x30], 0x63
je 0x465f9a
cmp dword [ebp - 0x30], 0x43
je 0x465f9a
cmp dword [ebp - 0x30], 0x6e
je 0x465f9a
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
call sub.msvcrt.dll__errno
mov dword [eax], 0
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x465ef6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x465f3c
call sub.msvcrt.dll__errno
mov eax, dword [eax]
cmp eax, 4
jne 0x465f3c
cmp word [ebp - 0x1e], 0
je 0x465f0f
movzx eax, word [ebp - 0x1e]
jmp 0x465f14
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
jne 0x465ec0
mov dword [ebp - 0x24], 0
call sub.msvcrt.dll__errno
mov edx, dword [ebp - 0x68]
mov dword [eax], edx
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
cmp dword [ebp - 0x30], 0x63
je 0x465fa8
cmp dword [ebp - 0x30], 0x73
je 0x465fbb
jmp 0x465fd2
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x465fce
mov dword [ebp - 0x30], 0x43
jmp 0x465fce
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x465fd1
mov dword [ebp - 0x30], 0x53
jmp 0x465fd1
nop
jmp 0x465fd2
nop
cmp dword [ebp - 0x30], 0x67
ja 0x46604b
cmp dword [ebp - 0x30], 0x25
jae 0x466033
jmp case.0x466049.38
mov eax, dword [ebp - 0x30]
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.0x466049.88
mov edx, eax
and edx, 0x400
test edx, edx
setne dl
test dl, dl
jne 0x4669ea
and eax, 0x20
test eax, eax
setne al
test al, al
jne 0x46612d
jmp case.0x466049.38
mov eax, dword [ebp - 0x30]
sub eax, 0x25
cmp eax, 0x42
ja case.0x466049.38
mov eax, dword [eax*4 + 0x47f83c]
jmp eax
cmp dword [ebp - 0x30], 0x78
ja case.0x466049.38
cmp dword [ebp - 0x30], 0x69
jae 0x465fe3
jmp case.0x466049.38
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4660c3
cmp word [ebp - 0x1e], 0
je 0x466096
movzx eax, word [ebp - 0x1e]
jmp 0x46609b
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x4695eb
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4695ee
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x46618b
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x466169
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov ecx, eax
jmp 0x46617a
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 0x4695ee
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4661cf
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4661b5
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x4661c6
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 0x4695ee
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x466214
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4661f9
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x46620a
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 0x4695ee
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x466258
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x46623e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x46624f
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 0x4695ee
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x466278
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x466289
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 0x4695ee
cmp dword [ebp - 0x38], 0xffffffff
jne 0x46629f
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x46641c
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4663b9
cmp dword [ebp - 0x34], 0
je 0x4662dc
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x18], eax
jmp 0x4662f0
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 0x466322
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [ebp - 0x10], 0x64
mov dword [esp], 0x64
call sub.msvcrt.dll_malloc
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x466389
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x46635c
movzx eax, word [ebp - 0x1e]
jmp 0x466361
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00465727
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 - 0x18]
mov dword [ecx + eax*4 + 8], edx
jmp 0x46641c
cmp dword [ebp - 0x34], 0
je 0x4663d6
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x14], eax
jmp 0x4663ea
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x46641c
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x46647f
cmp word [ebp - 0x1e], 0
je 0x466452
movzx eax, word [ebp - 0x1e]
jmp 0x466457
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xc8]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x466571
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
je 0x466571
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
add eax, edx
cmp ecx, eax
jb 0x466571
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov dword [ebp - 0x6c], edx
jmp 0x466502
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x466530
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x4664f3
cmp dword [ebp - 0x70], 0
jne 0x466558
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.004655f0
mov eax, 0xffffffff
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x70]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
movzx eax, word [ebp - 0xae]
movzx edx, ax
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x46658c
mov eax, dword [ebp - 0x14]
jmp 0x466591
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00473cba
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4665ea
cmp word [ebp - 0x1e], 0
je 0x4665bd
movzx eax, word [ebp - 0x1e]
jmp 0x4665c2
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x466627
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x46649d
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4695f1
mov eax, dword [ebp - 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.00465329
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4695f1
cmp dword [ebp - 0x38], 0xffffffff
jne 0x46666e
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x466807
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4667a4
cmp dword [ebp - 0x34], 0
je 0x4666ab
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x18], eax
jmp 0x4666bf
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 0x4666f1
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x38]
mov edx, 0x400
cmp eax, edx
cmovg eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x466762
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x466735
movzx eax, word [ebp - 0x1e]
jmp 0x46673a
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x466807
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00465727
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 - 0x18]
mov dword [ecx + eax*4 + 8], edx
jmp 0x466807
cmp dword [ebp - 0x34], 0
je 0x4667c1
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x1c], eax
jmp 0x4667d5
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 0x466807
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x46686a
cmp word [ebp - 0x1e], 0
je 0x46683d
movzx eax, word [ebp - 0x1e]
jmp 0x466842
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x46697a
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x46692e
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
add edx, edx
add eax, edx
cmp dword [ebp - 0x1c], eax
jne 0x46692e
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x38]
jle 0x4668af
mov eax, dword [ebp - 0x38]
sub eax, 1
jmp 0x4668b2
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x2c], eax
jmp 0x4668c5
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4668f0
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x4668bc
cmp dword [ebp - 0x1c], 0
jne 0x466918
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.004655f0
mov eax, 0xffffffff
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
add eax, eax
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 2]
mov dword [ebp - 0x1c], edx
movzx edx, word [ebp - 0xae]
mov word [eax], dx
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4669ae
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x46687a
jmp 0x4669ae
nop
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4669ae
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x46697b
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4695f4
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.00465329
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4695f4
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x466b67
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x466b04
cmp dword [ebp - 0x34], 0
je 0x466a27
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x18], eax
jmp 0x466a3b
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 0x466a6d
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [ebp - 0x10], 0x64
mov dword [esp], 0x64
call sub.msvcrt.dll_malloc
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x466ad4
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x466aa7
movzx eax, word [ebp - 0x1e]
jmp 0x466aac
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00465727
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 - 0x18]
mov dword [ecx + eax*4 + 8], edx
jmp 0x466b67
cmp dword [ebp - 0x34], 0
je 0x466b21
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x14], eax
jmp 0x466b35
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x466b67
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x466bca
cmp word [ebp - 0x1e], 0
je 0x466b9d
movzx eax, word [ebp - 0x1e]
jmp 0x466ba2
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xc8]
mov dword [esp], eax
call sub.msvcrt.dll_memset
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
je 0x466c36
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
jmp 0x466e05
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x466d4c
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x466d4c
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
add eax, edx
cmp ecx, eax
jb 0x466d4c
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov dword [ebp - 0x6c], edx
jmp 0x466c9b
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x466cc9
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x466c8c
cmp dword [ebp - 0x70], 0
jne 0x466d33
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x466cf4
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov byte [eax], 0
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x466d06
movzx eax, word [ebp - 0x1e]
jmp 0x466d0b
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x70]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
movzx eax, word [ebp - 0xae]
movzx edx, ax
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x466d67
mov eax, dword [ebp - 0x14]
jmp 0x466d6c
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00473cba
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x466dc2
call sub.msvcrt.dll__errno
mov dword [eax], 0x2a
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
cmp dword [ebp - 0x38], 0
jle 0x466dd8
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x466e05
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x466be8
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4695f7
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.00473cba
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x466f24
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x466f24
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x74]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
add eax, edx
cmp ecx, eax
jb 0x466f24
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x74]
add eax, edx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x466f03
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x466ec4
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov byte [eax], 0
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x466ed6
movzx eax, word [ebp - 0x1e]
jmp 0x466edb
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x70]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x74]
add eax, edx
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x74], 0
je 0x466f4c
mov eax, dword [ebp - 0x74]
mov dword [esp + 8], eax
lea eax, [ebp - 0xb9]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
lea edx, [eax + 1]
mov dword [ebp - 0x14], edx
mov byte [eax], 0
mov eax, dword [ebp - 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.00465329
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4695f7
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4670ff
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x46709c
cmp dword [ebp - 0x34], 0
je 0x466fbf
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x18], eax
jmp 0x466fd3
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 0x467005
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [ebp - 0x10], 0x64
mov dword [esp], 0xc8
call sub.msvcrt.dll_malloc
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x46706c
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x46703f
movzx eax, word [ebp - 0x1e]
jmp 0x467044
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00465727
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 - 0x18]
mov dword [ecx + eax*4 + 8], edx
jmp 0x4670ff
cmp dword [ebp - 0x34], 0
je 0x4670b9
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x1c], eax
jmp 0x4670cd
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 0x4670ff
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x467162
cmp word [ebp - 0x1e], 0
je 0x467135
movzx eax, word [ebp - 0x1e]
jmp 0x46713a
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
je 0x4671b0
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
jmp 0x4672fd
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4672c0
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 2]
mov dword [ebp - 0x1c], edx
movzx edx, word [ebp - 0xae]
mov word [eax], dx
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4672c0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
add edx, edx
add eax, edx
cmp dword [ebp - 0x1c], eax
jne 0x4672c0
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x46720b
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x467236
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x467202
cmp dword [ebp - 0x1c], 0
jne 0x4672aa
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x46726b
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
add edx, 0x7fffffff
add edx, edx
add eax, edx
mov word [eax], 0
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x46727d
movzx eax, word [ebp - 0x1e]
jmp 0x467282
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
add eax, eax
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x38], 0
jle 0x4672d0
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4672fd
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x467162
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4695fa
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 2]
mov dword [ebp - 0x1c], edx
mov word [eax], 0
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.00465329
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4695fa
mov eax, dword [ebp - 0x30]
sub eax, 0x58
cmp eax, 0x20
ja case.0x467359.89
mov eax, dword [eax*4 + 0x47f948]
jmp eax
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0xa
jmp case.0x467359.89
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0
jmp case.0x467359.89
mov dword [ebp - 0x40], 8
jmp case.0x467359.89
mov dword [ebp - 0x40], 0x10
and dword [ebp - 0x3c], 0xfffffff1
or dword [ebp - 0x3c], 0x24
jmp case.0x467359.89
mov dword [ebp - 0x40], 0xa
jmp case.0x467359.89
mov dword [ebp - 0x40], 0x10
nop
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x467403
cmp word [ebp - 0x1e], 0
je 0x4673d6
movzx eax, word [ebp - 0x1e]
jmp 0x4673db
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
je 0x46741d
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
jne 0x467486
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
cmp dword [ebp - 0x38], 0
jle 0x46746a
sub dword [ebp - 0x38], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x467570
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x467570
cmp dword [ebp - 0x38], 0
jle 0x4674ab
sub dword [ebp - 0x38], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x467563
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x467563
cmp dword [ebp - 0x40], 0
jne 0x467535
mov dword [ebp - 0x40], 0x10
cmp dword [ebp - 0x40], 0x10
jne 0x467570
cmp dword [ebp - 0x38], 0
jle 0x467545
sub dword [ebp - 0x38], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
jmp 0x467570
cmp dword [ebp - 0x40], 0
jne 0x467570
mov dword [ebp - 0x40], 8
cmp dword [ebp - 0x40], 0
jne 0x467680
mov dword [ebp - 0x40], 0xa
jmp 0x467680
cmp dword [ebp - 0x40], 0x10
jne 0x4675af
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
jne 0x46760a
jmp 0x467697
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
je 0x4675df
movzx eax, word [ebp - 0xae]
movzx eax, ax
sub eax, 0x2f
cmp dword [ebp - 0x40], eax
jge 0x46760a
cmp dword [ebp - 0x40], 0xa
jne 0x467697
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x467697
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
jne 0x467697
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x46765a
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
cmp dword [ebp - 0x38], 0
jle 0x467664
sub dword [ebp - 0x38], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x467697
cmp dword [ebp - 0x38], 0
jne 0x467586
cmp dword [ebp - 0x28], 0
je 0x4676c9
cmp dword [ebp - 0x28], 1
jne 0x46779d
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2b
je 0x4676c9
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x46779d
cmp dword [ebp - 0x28], 0
jne 0x467746
mov eax, dword [ebp - 0x3c]
and eax, 0x20
test eax, eax
je 0x467746
mov dword [esp + 0xc], str._nil_
lea eax, [ebp - 0xae]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00465520
test eax, eax
je 0x467746
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
add eax, ecx
mov word [eax], 0x30
jmp 0x4677c8
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
add eax, ecx
mov word [eax], 0
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x467876
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x467849
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x40]
mov dword [esp + 8], edx
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046a5e4
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4678cc
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x40]
mov dword [esp + 8], edx
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046a94c
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4678cc
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x4678a7
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x40]
mov dword [esp + 8], edx
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_wcstol
mov dword [ebp - 0xd0], eax
jmp 0x4678cc
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x40]
mov dword [esp + 8], edx
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_wcstoul
mov dword [ebp - 0xd0], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc0]
cmp edx, eax
jne 0x467908
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4695fd
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x467a76
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x467973
cmp dword [ebp - 0x34], 0
je 0x46794c
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov ecx, eax
jmp 0x46795d
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x467bbb
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4679b5
cmp dword [ebp - 0x34], 0
je 0x467997
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x4679a8
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0xd0]
mov dword [eax], edx
jmp 0x467bbb
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x4679fa
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4679df
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x4679f0
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 0x467bbb
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x467a3e
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x467a24
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x467a35
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 0x467bbb
cmp dword [ebp - 0x34], 0
je 0x467a58
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x467a69
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0xd0]
mov dword [eax], edx
jmp 0x467bbb
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x467ac3
cmp dword [ebp - 0x34], 0
je 0x467a9c
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov ecx, eax
jmp 0x467aad
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x467bbb
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x467b05
cmp dword [ebp - 0x34], 0
je 0x467ae7
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x467af8
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0xd0]
mov dword [eax], edx
jmp 0x467bbb
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x467b47
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x467b2f
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x467b40
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 0x467bbb
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x467b88
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x467b71
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x467b82
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 0x467bbb
cmp dword [ebp - 0x34], 0
je 0x467ba2
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x467bb3
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov edx, dword [ebp - 0xd0]
mov dword [eax], edx
add word [ebp - 0x1e], 1
jmp 0x4695fd
cmp dword [ebp - 0x38], 0
jle 0x467bcf
sub dword [ebp - 0x38], 1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x467c32
cmp word [ebp - 0x1e], 0
je 0x467c05
movzx eax, word [ebp - 0x1e]
jmp 0x467c0a
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov byte [ebp - 0x42], 0
movzx eax, byte [ebp - 0x42]
mov byte [ebp - 0x41], al
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
sete al
mov byte [ebp - 0x7d], al
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
je 0x467c68
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x467ccd
cmp dword [ebp - 0x38], 0
je 0x467c97
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x467cc3
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
cmp dword [ebp - 0x38], 0
jle 0x467ccd
sub dword [ebp - 0x38], 1
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x6e
jne 0x467e14
mov dword [ebp - 0x4c], 0x47f764
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
add dword [ebp - 0x4c], 2
cmp dword [ebp - 0x38], 0
je 0x467d83
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x467d83
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
mov edx, dword [ebp - 0x4c]
movzx edx, word [edx]
cmp ax, dx
je 0x467daf
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
cmp dword [ebp - 0x38], 0
jle 0x467db9
sub dword [ebp - 0x38], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
add dword [ebp - 0x4c], 2
mov eax, dword [ebp - 0x4c]
movzx eax, word [eax]
test ax, ax
jne 0x467d37
jmp 0x46854f
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x468129
mov dword [ebp - 0x50], 0x47f76c
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
add dword [ebp - 0x50], 2
cmp dword [ebp - 0x38], 0
je 0x467eca
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x467eca
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
mov edx, dword [ebp - 0x50]
movzx edx, word [edx]
cmp ax, dx
je 0x467ef6
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
cmp dword [ebp - 0x38], 0
jle 0x467f00
sub dword [ebp - 0x38], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
add dword [ebp - 0x50], 2
mov eax, dword [ebp - 0x50]
movzx eax, word [eax]
test ax, ax
jne 0x467e7e
cmp dword [ebp - 0x38], 0
je 0x4680de
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4680de
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x4680de
mov dword [ebp - 0x50], str.inity
cmp dword [ebp - 0x38], 0
jle 0x467fba
sub dword [ebp - 0x38], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
add dword [ebp - 0x50], 2
cmp dword [ebp - 0x38], 0
je 0x46804d
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x46804d
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
mov edx, dword [ebp - 0x50]
movzx edx, word [edx]
cmp ax, dx
je 0x468079
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
cmp dword [ebp - 0x38], 0
jle 0x468083
sub dword [ebp - 0x38], 1
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
add dword [ebp - 0x50], 2
mov eax, dword [ebp - 0x50]
movzx eax, word [eax]
test ax, ax
jne 0x468001
jmp 0x46854f
cmp dword [ebp - 0x38], 0
je 0x46854f
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x46854f
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
jmp 0x46854f
mov word [ebp - 0x44], 0x65
cmp dword [ebp - 0x38], 0
je 0x46824f
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x46824f
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x4681b3
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
je 0x46824f
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x46824f
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
or dword [ebp - 0x3c], 0x40
mov word [ebp - 0x44], 0x70
and dword [ebp - 0x3c], 0xfffffeff
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x46824f
sub dword [ebp - 0x38], 1
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
je 0x4682b5
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
jmp 0x4684cb
cmp byte [ebp - 0x42], 0
jne 0x46832b
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x46832b
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
je 0x46832b
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
jmp 0x4684cb
cmp byte [ebp - 0x42], 0
je 0x4683af
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0x28]
add edx, 0x7fffffff
add edx, edx
add eax, edx
movzx eax, word [eax]
cmp word [ebp - 0x44], ax
jne 0x4683af
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
je 0x468367
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x4683af
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
jmp 0x4684cb
cmp dword [ebp - 0x28], 0
je 0x468423
cmp byte [ebp - 0x42], 0
jne 0x468423
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp word [ebp - 0x44], ax
jne 0x468423
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0x44]
mov word [edx], ax
mov byte [ebp - 0x41], 1
movzx eax, byte [ebp - 0x41]
mov byte [ebp - 0x42], al
jmp 0x4684cb
cmp byte [ebp - 0x41], 0
jne 0x46847f
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x5e], ax
jne 0x46847f
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
lea edx, [ecx + eax]
movzx eax, word [ebp - 0xae]
mov word [edx], ax
mov byte [ebp - 0x41], 1
jmp 0x4684cb
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x46849e
cmp byte [ebp - 0x41], 0
jne 0x46849e
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x4684cb
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
jmp 0x46850d
cmp dword [ebp - 0x38], 0
je 0x46850d
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x46850d
cmp dword [ebp - 0x38], 0
jle 0x46824f
sub dword [ebp - 0x38], 1
jmp 0x46824f
cmp dword [ebp - 0x28], 0
je 0x468523
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x46854f
cmp dword [ebp - 0x28], 2
jne 0x46854f
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xac]
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00465768
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x28]
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
add eax, eax
add eax, ecx
mov word [eax], 0
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x468636
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046a42c
fstp xword [ebp - 0x9c]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x46876f
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x46876f
cmp byte [ebp - 0x7d], 0
je 0x4685f2
fld xword [ebp - 0x9c]
fchs
fstp xword [ebp - 0xe8]
jmp 0x4685fe
fld xword [ebp - 0x9c]
fstp xword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x468618
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x468629
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 0x46876f
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4686e0
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046a1ec
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x46876f
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x46876f
cmp byte [ebp - 0x7d], 0
je 0x46869c
fld qword [ebp - 0x90]
fchs
fstp qword [ebp - 0xe8]
jmp 0x4686a8
fld qword [ebp - 0x90]
fstp qword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x4686c2
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x4686d3
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 0x46876f
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0046a2b0
fstp dword [ebp - 0x84]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x46876f
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x46876f
cmp byte [ebp - 0x7d], 0
je 0x468730
fld dword [ebp - 0x84]
fchs
fstp dword [ebp - 0xe8]
jmp 0x46873c
fld dword [ebp - 0x84]
fstp dword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x468756
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
jmp 0x468767
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 - 0xc0]
cmp edx, eax
jne 0x4687ab
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x469600
add word [ebp - 0x1e], 1
jmp 0x469600
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x468957
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x468ad4
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4688f0
cmp dword [ebp - 0x34], 0
je 0x468810
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x18], eax
jmp 0x468824
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 0x468856
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [ebp - 0x10], 0x64
mov dword [esp], 0xc8
call sub.msvcrt.dll_malloc
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4688bd
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x468890
movzx eax, word [ebp - 0x1e]
jmp 0x468895
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00465727
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 - 0x18]
mov dword [ecx + eax*4 + 8], edx
jmp 0x468ad4
cmp dword [ebp - 0x34], 0
je 0x46890d
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x1c], eax
jmp 0x468921
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 0x468ad4
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x468ad4
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x468a71
cmp dword [ebp - 0x34], 0
je 0x468994
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x18], eax
jmp 0x4689a8
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 0x4689da
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [ebp - 0x10], 0x64
mov dword [esp], 0x64
call sub.msvcrt.dll_malloc
mov edx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x468a41
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x468a14
movzx eax, word [ebp - 0x1e]
jmp 0x468a19
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00465727
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 - 0x18]
mov dword [ecx + eax*4 + 8], edx
jmp 0x468ad4
cmp dword [ebp - 0x34], 0
je 0x468a8e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004652f0
mov dword [ebp - 0x14], eax
jmp 0x468aa2
mov eax, dword [ebp - 0xb4]
lea edx, [eax + 4]
mov dword [ebp - 0xb4], edx
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x468ad4
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x5e
sete al
movzx eax, al
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x5e
jne 0x468af8
add dword [ebp - 0xc], 2
cmp dword [ebp - 0x38], 0
jns 0x468b05
mov dword [ebp - 0x38], 0x7fffffff
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x5d
jne 0x468b1e
add dword [ebp - 0xc], 2
nop
mov eax, dword [ebp - 0xc]
lea edx, [eax + 2]
mov dword [ebp - 0xc], edx
movzx eax, word [eax]
movzx eax, ax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x468b3d
cmp dword [ebp - 0x30], 0x5d
jne 0x468b1f
cmp dword [ebp - 0x30], 0
jne 0x468b6f
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0xc]
sub eax, 2
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x468fb9
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 fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x468bf2
cmp word [ebp - 0x1e], 0
je 0x468bc5
movzx eax, word [ebp - 0x1e]
jmp 0x468bca
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x48], eax
jmp 0x468d93
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x468d29
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x468d29
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x468d29
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x468d29
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
mov edx, dword [ebp - 0x48]
add edx, 2
movzx edx, word [edx]
cmp dx, ax
jb 0x468d29
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x468c88
movzx eax, word [ebp - 0xbc]
add eax, 1
mov word [ebp - 0xbc], ax
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x468cb0
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x468c77
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x468cd0
cmp word [ebp - 0x44], 0
je 0x468da1
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x468d23
cmp word [ebp - 0x44], 0
je 0x468d23
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
mov dword [ebp - 0x54], 1
jmp 0x468da5
add dword [ebp - 0x48], 4
jmp 0x468d93
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x468d42
cmp word [ebp - 0x44], 0
je 0x468da4
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x468d8f
cmp word [ebp - 0x44], 0
je 0x468d8f
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
mov dword [ebp - 0x54], 1
jmp 0x468da5
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x468c07
jmp 0x468da5
nop
jmp 0x468da5
nop
cmp dword [ebp - 0x54], 0
jne 0x468f37
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x468dee
cmp word [ebp - 0x44], 0
jne 0x468dee
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
jmp 0x468f38
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x468efe
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 2]
mov dword [ebp - 0x1c], edx
movzx edx, word [ebp - 0xae]
mov word [eax], dx
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x468efe
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
add edx, edx
add eax, edx
cmp dword [ebp - 0x1c], eax
jne 0x468efe
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x468e49
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
lea edx, [eax + eax]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x468e74
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x468e40
cmp dword [ebp - 0x1c], 0
jne 0x468ee8
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x468ea9
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
add edx, 0x7fffffff
add edx, edx
add eax, edx
mov word [eax], 0
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x468ebb
movzx eax, word [ebp - 0x1e]
jmp 0x468ec0
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
add eax, eax
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x468f38
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x468bf2
jmp 0x468f38
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x468f6f
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x469603
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 2]
mov dword [ebp - 0x1c], edx
mov word [eax], 0
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.00465329
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x469603
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 fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x469025
cmp word [ebp - 0x1e], 0
je 0x468ff8
movzx eax, word [ebp - 0x1e]
jmp 0x468ffd
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov dword [esp + 8], 8
mov dword [esp + 4], 0
lea eax, [ebp - 0xc8]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x48], eax
jmp 0x4691e4
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x46917a
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x46917a
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x46917a
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x46917a
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
mov edx, dword [ebp - 0x48]
add edx, 2
movzx edx, word [edx]
cmp dx, ax
jb 0x46917a
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x4690d9
movzx eax, word [ebp - 0xbc]
add eax, 1
mov word [ebp - 0xbc], ax
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x469101
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4690c8
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x469121
cmp word [ebp - 0x44], 0
je 0x4691f2
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x469174
cmp word [ebp - 0x44], 0
je 0x469174
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
mov dword [ebp - 0x58], 1
jmp 0x4691f6
add dword [ebp - 0x48], 4
jmp 0x4691e4
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x469193
cmp word [ebp - 0x44], 0
je 0x4691f5
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4691e0
cmp word [ebp - 0x44], 0
je 0x4691e0
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
mov dword [ebp - 0x58], 1
jmp 0x4691f6
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x469058
jmp 0x4691f6
nop
jmp 0x4691f6
nop
cmp dword [ebp - 0x58], 0
jne 0x46940a
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x46923f
cmp word [ebp - 0x44], 0
jne 0x46923f
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
jmp 0x46940b
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x469355
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x469355
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x14]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
add eax, edx
cmp ecx, eax
jb 0x469355
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov dword [ebp - 0x6c], edx
jmp 0x4692a4
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x4692d2
call fcn.00473ad0
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x469295
cmp dword [ebp - 0x70], 0
jne 0x46933c
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4692fd
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov byte [eax], 0
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x46930f
movzx eax, word [ebp - 0x1e]
jmp 0x469314
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x70]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], eax
movzx eax, word [ebp - 0xae]
movzx edx, ax
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x469370
mov eax, dword [ebp - 0x14]
jmp 0x469375
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00473cba
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4693cb
call sub.msvcrt.dll__errno
mov dword [eax], 0x2a
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x46940b
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x469043
jmp 0x46940b
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x469442
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x469603
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.00473cba
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x469561
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x469561
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x74]
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x10]
add eax, edx
cmp ecx, eax
jb 0x469561
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
sub edx, eax
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x74]
add eax, edx
lea edx, [eax + 1]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x469540
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x469501
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov byte [eax], 0
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x469513
movzx eax, word [ebp - 0x1e]
jmp 0x469518
mov eax, 0xffffffff
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x70]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x74]
add eax, edx
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x74], 0
je 0x469589
mov eax, dword [ebp - 0x74]
mov dword [esp + 8], eax
lea eax, [ebp - 0xb9]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
lea edx, [eax + 1]
mov dword [ebp - 0x14], edx
mov byte [eax], 0
mov eax, dword [ebp - 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.00465329
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x469603
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
jmp 0x4696a6
nop
jmp 0x469604
nop
jmp 0x469604
nop
jmp 0x469604
nop
jmp 0x469604
nop
jmp 0x469604
nop
jmp 0x469604
nop
jmp 0x469604
nop
jmp 0x469604
nop
jmp 0x469604
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x465958
cmp dword [ebp - 0x24], 0
je 0x46967f
nop
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0046540c
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll_iswctype
test eax, eax
jne 0x46961a
movzx eax, word [ebp - 0xae]
movzx eax, ax
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 fcn.00465380
movzx eax, word [ebp - 0x1e]
lea edx, [ebp - 0xac]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
lea edx, [ebp - 0xa0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00465691
mov ebx, dword [ebp - 4]
leave
ret