Function at 0x484dbd
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 0x481e6d
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x481e6d
cmp dword [ebp + 0xc], 0
jne 0x481e82
call sub.msvcrt.dll__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x485c9e
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.004905b4
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x481edd
movzx eax, word [ebp - 0xbc]
jmp 0x481ee2
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.004905b4
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x481f42
movzx eax, word [ebp - 0xbc]
jmp 0x481f47
mov eax, 0
mov word [ebp - 0x60], ax
jmp 0x485bfc
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 0x482117
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 0x481f92
mov dword [ebp - 0x24], 1
jmp 0x485be0
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x481ff5
cmp word [ebp - 0x1e], 0
je 0x481fc8
movzx eax, word [ebp - 0x1e]
jmp 0x481fcd
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.00481c89
jmp 0x485c9e
cmp dword [ebp - 0x24], 0
je 0x4820ad
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 0x4820ad
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x48208b
cmp word [ebp - 0x1e], 0
je 0x48205e
movzx eax, word [ebp - 0x1e]
jmp 0x482063
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.00481c89
jmp 0x485c9e
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 0x482028
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x485be0
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.00481978
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.00481c89
jmp 0x485c9e
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 0x4821cd
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 0x482191
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 0x48216c
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x24
je 0x4821c9
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xc], eax
jmp 0x4821cd
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x2a
jne 0x4821e2
or dword [ebp - 0x3c], 0x80
jmp 0x48225e
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x27
jne 0x4821fe
cmp word [ebp - 0x60], 0
je 0x48225e
or dword [ebp - 0x3c], 0x100
jmp 0x48225e
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x49
jne 0x482267
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x36
jne 0x482232
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x34
jne 0x482232
or dword [ebp - 0x3c], 0xc
add dword [ebp - 0xc], 4
jmp 0x48225e
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x33
jne 0x48225a
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x32
jne 0x48225a
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 4
jmp 0x48225e
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4821cd
nop
jmp 0x48228f
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 0x48226a
cmp dword [ebp - 0x38], 0
jne 0x4822b9
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
movzx eax, ax
test eax, eax
je 0x4823f3
test eax, eax
js case.0x4822f7.77
cmp eax, 0x7a
jg case.0x4822f7.77
cmp eax, 0x4c
jl case.0x4822f7.77
sub eax, 0x4c
cmp eax, 0x2e
ja case.0x4822f7.77
mov eax, dword [eax*4 + 0x49ee24]
jmp eax
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x482310
mov eax, 1
jmp 0x482315
mov eax, 2
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x482422
add dword [ebp - 0xc], 2
jmp 0x482422
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x482348
mov eax, 0xc
jmp 0x48234d
mov eax, 4
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x482425
add dword [ebp - 0xc], 2
jmp 0x482425
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0xc
jmp 0x48242c
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x73
je 0x4823a7
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x53
je 0x4823a7
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x5b
jne 0x482428
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0x200
jmp 0x48242c
or dword [ebp - 0x3c], 0x400
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x48242b
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x48242b
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x48242c
or dword [ebp - 0x3c], 8
add dword [ebp - 0xc], 2
jmp 0x48242c
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x48242c
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.00481c89
jmp 0x485c9e
nop
jmp 0x48242c
nop
jmp 0x48242c
nop
jmp 0x48242c
nop
jmp 0x48242c
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x482463
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.00481c89
jmp 0x485c9e
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 0x4824a3
cmp dword [ebp - 0x30], 0x5b
je 0x482592
cmp dword [ebp - 0x30], 0x63
je 0x482592
cmp dword [ebp - 0x30], 0x43
je 0x482592
cmp dword [ebp - 0x30], 0x6e
je 0x482592
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 0x4824ee
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x482534
call sub.msvcrt.dll__errno
mov eax, dword [eax]
cmp eax, 4
jne 0x482534
cmp word [ebp - 0x1e], 0
je 0x482507
movzx eax, word [ebp - 0x1e]
jmp 0x48250c
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.00481c89
jmp 0x485c9e
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 0x4824b8
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.00481978
cmp dword [ebp - 0x30], 0x63
je 0x4825a0
cmp dword [ebp - 0x30], 0x73
je 0x4825b3
jmp 0x4825ca
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4825c6
mov dword [ebp - 0x30], 0x43
jmp 0x4825c6
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4825c9
mov dword [ebp - 0x30], 0x53
jmp 0x4825c9
nop
jmp 0x4825ca
nop
cmp dword [ebp - 0x30], 0x67
ja 0x482643
cmp dword [ebp - 0x30], 0x25
jae 0x48262b
jmp case.0x482641.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.0x482641.88
mov edx, eax
and edx, 0x400
test edx, edx
setne dl
test dl, dl
jne 0x482fe2
and eax, 0x20
test eax, eax
setne al
test al, al
jne 0x482725
jmp case.0x482641.38
mov eax, dword [ebp - 0x30]
sub eax, 0x25
cmp eax, 0x42
ja case.0x482641.38
mov eax, dword [eax*4 + 0x49eee0]
jmp eax
cmp dword [ebp - 0x30], 0x78
ja case.0x482641.38
cmp dword [ebp - 0x30], 0x69
jae 0x4825db
jmp case.0x482641.38
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4826bb
cmp word [ebp - 0x1e], 0
je 0x48268e
movzx eax, word [ebp - 0x1e]
jmp 0x482693
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.00481c89
jmp 0x485c9e
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x485be3
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.00481978
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485be6
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x482783
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x482761
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov ecx, eax
jmp 0x482772
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 0x485be6
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4827c7
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4827ad
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x4827be
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 0x485be6
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x48280c
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4827f1
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x482802
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 0x485be6
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x482850
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x482836
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x482847
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 0x485be6
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x482870
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x482881
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 0x485be6
cmp dword [ebp - 0x38], 0xffffffff
jne 0x482897
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x482a14
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4829b1
cmp dword [ebp - 0x34], 0
je 0x4828d4
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x18], eax
jmp 0x4828e8
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 0x48291a
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.00481c89
jmp 0x485c9e
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 0x482981
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x482954
movzx eax, word [ebp - 0x1e]
jmp 0x482959
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00481d1f
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 0x482a14
cmp dword [ebp - 0x34], 0
je 0x4829ce
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x14], eax
jmp 0x4829e2
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 0x482a14
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.00481c89
jmp 0x485c9e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x482a77
cmp word [ebp - 0x1e], 0
je 0x482a4a
movzx eax, word [ebp - 0x1e]
jmp 0x482a4f
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.00481c89
jmp 0x485c9e
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 0x482b69
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
je 0x482b69
call fcn.00490098
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 0x482b69
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 0x482afa
call fcn.00490098
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 0x482b28
call fcn.00490098
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x482aeb
cmp dword [ebp - 0x70], 0
jne 0x482b50
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.00481be8
mov eax, 0xffffffff
jmp 0x485c9e
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 0x482b84
mov eax, dword [ebp - 0x14]
jmp 0x482b89
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00490282
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x482be2
cmp word [ebp - 0x1e], 0
je 0x482bb5
movzx eax, word [ebp - 0x1e]
jmp 0x482bba
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x482c1f
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x482a95
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485be9
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.00481921
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x485be9
cmp dword [ebp - 0x38], 0xffffffff
jne 0x482c66
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x482dff
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x482d9c
cmp dword [ebp - 0x34], 0
je 0x482ca3
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x18], eax
jmp 0x482cb7
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 0x482ce9
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.00481c89
jmp 0x485c9e
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 0x482d5a
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x482d2d
movzx eax, word [ebp - 0x1e]
jmp 0x482d32
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x482dff
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00481d1f
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 0x482dff
cmp dword [ebp - 0x34], 0
je 0x482db9
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x1c], eax
jmp 0x482dcd
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 0x482dff
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.00481c89
jmp 0x485c9e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x482e62
cmp word [ebp - 0x1e], 0
je 0x482e35
movzx eax, word [ebp - 0x1e]
jmp 0x482e3a
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x482f72
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x482f26
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 0x482f26
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x38]
jle 0x482ea7
mov eax, dword [ebp - 0x38]
sub eax, 1
jmp 0x482eaa
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x2c], eax
jmp 0x482ebd
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 0x482ee8
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x482eb4
cmp dword [ebp - 0x1c], 0
jne 0x482f10
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.00481be8
mov eax, 0xffffffff
jmp 0x485c9e
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 0x482fa6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x482e72
jmp 0x482fa6
nop
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x482fa6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x482f73
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485bec
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.00481921
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x485bec
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x48315f
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4830fc
cmp dword [ebp - 0x34], 0
je 0x48301f
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x18], eax
jmp 0x483033
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 0x483065
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.00481c89
jmp 0x485c9e
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 0x4830cc
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x48309f
movzx eax, word [ebp - 0x1e]
jmp 0x4830a4
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00481d1f
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 0x48315f
cmp dword [ebp - 0x34], 0
je 0x483119
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x14], eax
jmp 0x48312d
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 0x48315f
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.00481c89
jmp 0x485c9e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4831c2
cmp word [ebp - 0x1e], 0
je 0x483195
movzx eax, word [ebp - 0x1e]
jmp 0x48319a
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.00481c89
jmp 0x485c9e
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 0x48322e
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.00481978
jmp 0x4833fd
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x483344
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x483344
call fcn.00490098
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 0x483344
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 0x483293
call fcn.00490098
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 0x4832c1
call fcn.00490098
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x483284
cmp dword [ebp - 0x70], 0
jne 0x48332b
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4832ec
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 0x4832fe
movzx eax, word [ebp - 0x1e]
jmp 0x483303
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.00481c89
jmp 0x485c9e
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 0x48335f
mov eax, dword [ebp - 0x14]
jmp 0x483364
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00490282
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4833ba
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
cmp dword [ebp - 0x38], 0
jle 0x4833d0
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4833fd
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4831e0
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485bef
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.00490282
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x48351c
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x48351c
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 0x48351c
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 0x4834fb
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4834bc
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 0x4834ce
movzx eax, word [ebp - 0x1e]
jmp 0x4834d3
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.00481c89
jmp 0x485c9e
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 0x483544
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.00481921
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x485bef
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4836f7
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x483694
cmp dword [ebp - 0x34], 0
je 0x4835b7
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x18], eax
jmp 0x4835cb
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 0x4835fd
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.00481c89
jmp 0x485c9e
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 0x483664
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x483637
movzx eax, word [ebp - 0x1e]
jmp 0x48363c
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00481d1f
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 0x4836f7
cmp dword [ebp - 0x34], 0
je 0x4836b1
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x1c], eax
jmp 0x4836c5
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 0x4836f7
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.00481c89
jmp 0x485c9e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x48375a
cmp word [ebp - 0x1e], 0
je 0x48372d
movzx eax, word [ebp - 0x1e]
jmp 0x483732
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.00481c89
jmp 0x485c9e
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 0x4837a8
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.00481978
jmp 0x4838f5
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4838b8
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 0x4838b8
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 0x4838b8
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x483803
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 0x48382e
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x4837fa
cmp dword [ebp - 0x1c], 0
jne 0x4838a2
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x483863
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 0x483875
movzx eax, word [ebp - 0x1e]
jmp 0x48387a
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.00481c89
jmp 0x485c9e
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 0x4838c8
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4838f5
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x48375a
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485bf2
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.00481921
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x485bf2
mov eax, dword [ebp - 0x30]
sub eax, 0x58
cmp eax, 0x20
ja case.0x483951.89
mov eax, dword [eax*4 + 0x49efec]
jmp eax
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0xa
jmp case.0x483951.89
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0
jmp case.0x483951.89
mov dword [ebp - 0x40], 8
jmp case.0x483951.89
mov dword [ebp - 0x40], 0x10
and dword [ebp - 0x3c], 0xfffffff1
or dword [ebp - 0x3c], 0x24
jmp case.0x483951.89
mov dword [ebp - 0x40], 0xa
jmp case.0x483951.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.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4839fb
cmp word [ebp - 0x1e], 0
je 0x4839ce
movzx eax, word [ebp - 0x1e]
jmp 0x4839d3
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.00481c89
jmp 0x485c9e
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
je 0x483a15
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
jne 0x483a7e
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.00481d60
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 0x483a62
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.00481a04
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x483b68
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x483b68
cmp dword [ebp - 0x38], 0
jle 0x483aa3
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.00481d60
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.00481a04
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x483b5b
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x483b5b
cmp dword [ebp - 0x40], 0
jne 0x483b2d
mov dword [ebp - 0x40], 0x10
cmp dword [ebp - 0x40], 0x10
jne 0x483b68
cmp dword [ebp - 0x38], 0
jle 0x483b3d
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.00481a04
mov word [ebp - 0xae], ax
jmp 0x483b68
cmp dword [ebp - 0x40], 0
jne 0x483b68
mov dword [ebp - 0x40], 8
cmp dword [ebp - 0x40], 0
jne 0x483c78
mov dword [ebp - 0x40], 0xa
jmp 0x483c78
cmp dword [ebp - 0x40], 0x10
jne 0x483ba7
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 0x483c02
jmp 0x483c8f
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 0x483bd7
movzx eax, word [ebp - 0xae]
movzx eax, ax
sub eax, 0x2f
cmp dword [ebp - 0x40], eax
jge 0x483c02
cmp dword [ebp - 0x40], 0xa
jne 0x483c8f
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x483c8f
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
jne 0x483c8f
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x483c52
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.00481d60
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 0x483c5c
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.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x483c8f
cmp dword [ebp - 0x38], 0
jne 0x483b7e
cmp dword [ebp - 0x28], 0
je 0x483cc1
cmp dword [ebp - 0x28], 1
jne 0x483d95
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2b
je 0x483cc1
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x483d95
cmp dword [ebp - 0x28], 0
jne 0x483d3e
mov eax, dword [ebp - 0x3c]
and eax, 0x20
test eax, eax
je 0x483d3e
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.00481b18
test eax, eax
je 0x483d3e
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.00481d60
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 0x483dc0
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.00481978
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.00481c89
jmp 0x485c9e
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.00481978
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.00481d60
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 0x483e6e
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x483e41
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.00486bac
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x483ec4
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.00486f14
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x483ec4
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x483e9f
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 0x483ec4
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 0x483f00
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485bf5
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x48406e
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x483f6b
cmp dword [ebp - 0x34], 0
je 0x483f44
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov ecx, eax
jmp 0x483f55
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 0x4841b3
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x483fad
cmp dword [ebp - 0x34], 0
je 0x483f8f
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x483fa0
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 0x4841b3
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x483ff2
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x483fd7
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x483fe8
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 0x4841b3
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x484036
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x48401c
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x48402d
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 0x4841b3
cmp dword [ebp - 0x34], 0
je 0x484050
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x484061
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 0x4841b3
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x4840bb
cmp dword [ebp - 0x34], 0
je 0x484094
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov ecx, eax
jmp 0x4840a5
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 0x4841b3
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4840fd
cmp dword [ebp - 0x34], 0
je 0x4840df
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x4840f0
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 0x4841b3
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x48413f
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x484127
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x484138
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 0x4841b3
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x484180
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x484169
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x48417a
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 0x4841b3
cmp dword [ebp - 0x34], 0
je 0x48419a
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x4841ab
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 0x485bf5
cmp dword [ebp - 0x38], 0
jle 0x4841c7
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.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x48422a
cmp word [ebp - 0x1e], 0
je 0x4841fd
movzx eax, word [ebp - 0x1e]
jmp 0x484202
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.00481c89
jmp 0x485c9e
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 0x484260
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x4842c5
cmp dword [ebp - 0x38], 0
je 0x48428f
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4842bb
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.00481c89
jmp 0x485c9e
cmp dword [ebp - 0x38], 0
jle 0x4842c5
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 0x48440c
mov dword [ebp - 0x4c], 0x49ee08
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.00481d60
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 0x48437b
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x48437b
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 0x4843a7
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.00481c89
jmp 0x485c9e
cmp dword [ebp - 0x38], 0
jle 0x4843b1
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.00481d60
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 0x48432f
jmp 0x484b47
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x484721
mov dword [ebp - 0x50], 0x49ee10
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.00481d60
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 0x4844c2
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4844c2
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 0x4844ee
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.00481c89
jmp 0x485c9e
cmp dword [ebp - 0x38], 0
jle 0x4844f8
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.00481d60
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 0x484476
cmp dword [ebp - 0x38], 0
je 0x4846d6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4846d6
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x4846d6
mov dword [ebp - 0x50], str.inity
cmp dword [ebp - 0x38], 0
jle 0x4845b2
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.00481d60
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 0x484645
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x484645
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 0x484671
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.00481c89
jmp 0x485c9e
cmp dword [ebp - 0x38], 0
jle 0x48467b
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.00481d60
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 0x4845f9
jmp 0x484b47
cmp dword [ebp - 0x38], 0
je 0x484b47
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x484b47
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.00481978
jmp 0x484b47
mov word [ebp - 0x44], 0x65
cmp dword [ebp - 0x38], 0
je 0x484847
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x484847
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.00481d60
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.00481a04
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x4847ab
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
je 0x484847
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x484847
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.00481d60
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.00481a04
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x484847
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 0x4848ad
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.00481d60
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 0x484ac3
cmp byte [ebp - 0x42], 0
jne 0x484923
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x484923
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 0x484923
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.00481d60
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 0x484ac3
cmp byte [ebp - 0x42], 0
je 0x4849a7
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 0x4849a7
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
je 0x48495f
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x4849a7
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.00481d60
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 0x484ac3
cmp dword [ebp - 0x28], 0
je 0x484a1b
cmp byte [ebp - 0x42], 0
jne 0x484a1b
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp word [ebp - 0x44], ax
jne 0x484a1b
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.00481d60
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 0x484ac3
cmp byte [ebp - 0x41], 0
jne 0x484a77
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x5e], ax
jne 0x484a77
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.00481d60
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 0x484ac3
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x484a96
cmp byte [ebp - 0x41], 0
jne 0x484a96
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x484ac3
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.00481978
jmp 0x484b05
cmp dword [ebp - 0x38], 0
je 0x484b05
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x484b05
cmp dword [ebp - 0x38], 0
jle 0x484847
sub dword [ebp - 0x38], 1
jmp 0x484847
cmp dword [ebp - 0x28], 0
je 0x484b1b
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x484b47
cmp dword [ebp - 0x28], 2
jne 0x484b47
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.00481c89
jmp 0x485c9e
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.00481d60
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 0x484c2e
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004869f4
fstp xword [ebp - 0x9c]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x484d67
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x484d67
cmp byte [ebp - 0x7d], 0
je 0x484bea
fld xword [ebp - 0x9c]
fchs
fstp xword [ebp - 0xe8]
jmp 0x484bf6
fld xword [ebp - 0x9c]
fstp xword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x484c10
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x484c21
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 0x484d67
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x484cd8
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004867b4
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x484d67
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x484d67
cmp byte [ebp - 0x7d], 0
je 0x484c94
fld qword [ebp - 0x90]
fchs
fstp qword [ebp - 0xe8]
jmp 0x484ca0
fld qword [ebp - 0x90]
fstp qword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x484cba
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x484ccb
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 0x484d67
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00486878
fstp dword [ebp - 0x84]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x484d67
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x484d67
cmp byte [ebp - 0x7d], 0
je 0x484d28
fld dword [ebp - 0x84]
fchs
fstp dword [ebp - 0xe8]
jmp 0x484d34
fld dword [ebp - 0x84]
fstp dword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x484d4e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
jmp 0x484d5f
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 0x484da3
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485bf8
add word [ebp - 0x1e], 1
jmp 0x485bf8
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x484f4f
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4850cc
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x484ee8
cmp dword [ebp - 0x34], 0
je 0x484e08
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x18], eax
jmp 0x484e1c
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 0x484e4e
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.00481c89
jmp 0x485c9e
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 0x484eb5
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x484e88
movzx eax, word [ebp - 0x1e]
jmp 0x484e8d
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00481d1f
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 0x4850cc
cmp dword [ebp - 0x34], 0
je 0x484f05
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x1c], eax
jmp 0x484f19
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 0x4850cc
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4850cc
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x485069
cmp dword [ebp - 0x34], 0
je 0x484f8c
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x18], eax
jmp 0x484fa0
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 0x484fd2
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.00481c89
jmp 0x485c9e
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 0x485039
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x48500c
movzx eax, word [ebp - 0x1e]
jmp 0x485011
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00481d1f
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 0x4850cc
cmp dword [ebp - 0x34], 0
je 0x485086
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004818e8
mov dword [ebp - 0x14], eax
jmp 0x48509a
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 0x4850cc
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.00481c89
jmp 0x485c9e
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 0x4850f0
add dword [ebp - 0xc], 2
cmp dword [ebp - 0x38], 0
jns 0x4850fd
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 0x485116
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 0x485135
cmp dword [ebp - 0x30], 0x5d
jne 0x485117
cmp dword [ebp - 0x30], 0
jne 0x485167
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.00481c89
jmp 0x485c9e
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 0x4855b1
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.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4851ea
cmp word [ebp - 0x1e], 0
je 0x4851bd
movzx eax, word [ebp - 0x1e]
jmp 0x4851c2
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.00481c89
jmp 0x485c9e
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x48], eax
jmp 0x48538b
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x485321
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x485321
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x485321
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x485321
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 0x485321
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x485280
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 0x4852a8
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x48526f
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4852c8
cmp word [ebp - 0x44], 0
je 0x485399
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x48531b
cmp word [ebp - 0x44], 0
je 0x48531b
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.00481978
mov dword [ebp - 0x54], 1
jmp 0x48539d
add dword [ebp - 0x48], 4
jmp 0x48538b
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x48533a
cmp word [ebp - 0x44], 0
je 0x48539c
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x485387
cmp word [ebp - 0x44], 0
je 0x485387
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.00481978
mov dword [ebp - 0x54], 1
jmp 0x48539d
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x4851ff
jmp 0x48539d
nop
jmp 0x48539d
nop
cmp dword [ebp - 0x54], 0
jne 0x48552f
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x4853e6
cmp word [ebp - 0x44], 0
jne 0x4853e6
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.00481978
jmp 0x485530
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4854f6
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 0x4854f6
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 0x4854f6
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x485441
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 0x48546c
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x485438
cmp dword [ebp - 0x1c], 0
jne 0x4854e0
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4854a1
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 0x4854b3
movzx eax, word [ebp - 0x1e]
jmp 0x4854b8
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.00481c89
jmp 0x485c9e
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 0x485530
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4851ea
jmp 0x485530
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x485567
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485bfb
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.00481921
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x485bfb
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.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x48561d
cmp word [ebp - 0x1e], 0
je 0x4855f0
movzx eax, word [ebp - 0x1e]
jmp 0x4855f5
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.00481c89
jmp 0x485c9e
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 0x4857dc
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x485772
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x485772
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x485772
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x485772
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 0x485772
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x4856d1
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 0x4856f9
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4856c0
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x485719
cmp word [ebp - 0x44], 0
je 0x4857ea
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x48576c
cmp word [ebp - 0x44], 0
je 0x48576c
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.00481978
mov dword [ebp - 0x58], 1
jmp 0x4857ee
add dword [ebp - 0x48], 4
jmp 0x4857dc
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x48578b
cmp word [ebp - 0x44], 0
je 0x4857ed
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4857d8
cmp word [ebp - 0x44], 0
je 0x4857d8
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.00481978
mov dword [ebp - 0x58], 1
jmp 0x4857ee
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x485650
jmp 0x4857ee
nop
jmp 0x4857ee
nop
cmp dword [ebp - 0x58], 0
jne 0x485a02
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x485837
cmp word [ebp - 0x44], 0
jne 0x485837
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.00481978
jmp 0x485a03
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x48594d
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x48594d
call fcn.00490098
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 0x48594d
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 0x48589c
call fcn.00490098
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 0x4858ca
call fcn.00490098
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x48588d
cmp dword [ebp - 0x70], 0
jne 0x485934
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4858f5
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 0x485907
movzx eax, word [ebp - 0x1e]
jmp 0x48590c
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.00481c89
jmp 0x485c9e
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 0x485968
mov eax, dword [ebp - 0x14]
jmp 0x48596d
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00490282
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4859c3
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x485a03
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x48563b
jmp 0x485a03
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x485a3a
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.00481c89
jmp 0x485c9e
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x485bfb
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.00490282
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x485b59
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x485b59
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 0x485b59
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 0x485b38
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x485af9
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 0x485b0b
movzx eax, word [ebp - 0x1e]
jmp 0x485b10
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.00481c89
jmp 0x485c9e
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 0x485b81
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.00481921
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x485bfb
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.00481c89
jmp 0x485c9e
nop
jmp 0x485bfc
nop
jmp 0x485bfc
nop
jmp 0x485bfc
nop
jmp 0x485bfc
nop
jmp 0x485bfc
nop
jmp 0x485bfc
nop
jmp 0x485bfc
nop
jmp 0x485bfc
nop
jmp 0x485bfc
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x481f50
cmp dword [ebp - 0x24], 0
je 0x485c77
nop
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00481a04
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 0x485c12
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.00481978
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.00481c89
mov ebx, dword [ebp - 4]
leave
ret