Function at 0x4a3b0d
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 0x4a0bbd
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x4a0bbd
cmp dword [ebp + 0xc], 0
jne 0x4a0bd2
call sub.msvcrt.dll__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x4a49ee
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.004af304
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x4a0c2d
movzx eax, word [ebp - 0xbc]
jmp 0x4a0c32
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.004af304
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x4a0c92
movzx eax, word [ebp - 0xbc]
jmp 0x4a0c97
mov eax, 0
mov word [ebp - 0x60], ax
jmp 0x4a494c
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 0x4a0e67
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 0x4a0ce2
mov dword [ebp - 0x24], 1
jmp 0x4a4930
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a0d45
cmp word [ebp - 0x1e], 0
je 0x4a0d18
movzx eax, word [ebp - 0x1e]
jmp 0x4a0d1d
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.004a09d9
jmp 0x4a49ee
cmp dword [ebp - 0x24], 0
je 0x4a0dfd
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 0x4a0dfd
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a0ddb
cmp word [ebp - 0x1e], 0
je 0x4a0dae
movzx eax, word [ebp - 0x1e]
jmp 0x4a0db3
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.004a09d9
jmp 0x4a49ee
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 0x4a0d78
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x4a4930
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.004a06c8
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.004a09d9
jmp 0x4a49ee
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 0x4a0f1d
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 0x4a0ee1
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 0x4a0ebc
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x24
je 0x4a0f19
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xc], eax
jmp 0x4a0f1d
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x2a
jne 0x4a0f32
or dword [ebp - 0x3c], 0x80
jmp 0x4a0fae
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x27
jne 0x4a0f4e
cmp word [ebp - 0x60], 0
je 0x4a0fae
or dword [ebp - 0x3c], 0x100
jmp 0x4a0fae
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x49
jne 0x4a0fb7
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x36
jne 0x4a0f82
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x34
jne 0x4a0f82
or dword [ebp - 0x3c], 0xc
add dword [ebp - 0xc], 4
jmp 0x4a0fae
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x33
jne 0x4a0faa
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x32
jne 0x4a0faa
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 4
jmp 0x4a0fae
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4a0f1d
nop
jmp 0x4a0fdf
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 0x4a0fba
cmp dword [ebp - 0x38], 0
jne 0x4a1009
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
movzx eax, ax
test eax, eax
je 0x4a1143
test eax, eax
js case.0x4a1047.77
cmp eax, 0x7a
jg case.0x4a1047.77
cmp eax, 0x4c
jl case.0x4a1047.77
sub eax, 0x4c
cmp eax, 0x2e
ja case.0x4a1047.77
mov eax, dword [eax*4 + 0x4be744]
jmp eax
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x4a1060
mov eax, 1
jmp 0x4a1065
mov eax, 2
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x4a1172
add dword [ebp - 0xc], 2
jmp 0x4a1172
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x4a1098
mov eax, 0xc
jmp 0x4a109d
mov eax, 4
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x4a1175
add dword [ebp - 0xc], 2
jmp 0x4a1175
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0xc
jmp 0x4a117c
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x73
je 0x4a10f7
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x53
je 0x4a10f7
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x5b
jne 0x4a1178
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0x200
jmp 0x4a117c
or dword [ebp - 0x3c], 0x400
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x4a117b
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4a117b
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4a117c
or dword [ebp - 0x3c], 8
add dword [ebp - 0xc], 2
jmp 0x4a117c
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4a117c
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.004a09d9
jmp 0x4a49ee
nop
jmp 0x4a117c
nop
jmp 0x4a117c
nop
jmp 0x4a117c
nop
jmp 0x4a117c
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x4a11b3
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.004a09d9
jmp 0x4a49ee
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 0x4a11f3
cmp dword [ebp - 0x30], 0x5b
je 0x4a12e2
cmp dword [ebp - 0x30], 0x63
je 0x4a12e2
cmp dword [ebp - 0x30], 0x43
je 0x4a12e2
cmp dword [ebp - 0x30], 0x6e
je 0x4a12e2
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 0x4a123e
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1284
call sub.msvcrt.dll__errno
mov eax, dword [eax]
cmp eax, 4
jne 0x4a1284
cmp word [ebp - 0x1e], 0
je 0x4a1257
movzx eax, word [ebp - 0x1e]
jmp 0x4a125c
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.004a09d9
jmp 0x4a49ee
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 0x4a1208
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.004a06c8
cmp dword [ebp - 0x30], 0x63
je 0x4a12f0
cmp dword [ebp - 0x30], 0x73
je 0x4a1303
jmp 0x4a131a
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a1316
mov dword [ebp - 0x30], 0x43
jmp 0x4a1316
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a1319
mov dword [ebp - 0x30], 0x53
jmp 0x4a1319
nop
jmp 0x4a131a
nop
cmp dword [ebp - 0x30], 0x67
ja 0x4a1393
cmp dword [ebp - 0x30], 0x25
jae 0x4a137b
jmp case.0x4a1391.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.0x4a1391.88
mov edx, eax
and edx, 0x400
test edx, edx
setne dl
test dl, dl
jne 0x4a1d32
and eax, 0x20
test eax, eax
setne al
test al, al
jne 0x4a1475
jmp case.0x4a1391.38
mov eax, dword [ebp - 0x30]
sub eax, 0x25
cmp eax, 0x42
ja case.0x4a1391.38
mov eax, dword [eax*4 + 0x4be800]
jmp eax
cmp dword [ebp - 0x30], 0x78
ja case.0x4a1391.38
cmp dword [ebp - 0x30], 0x69
jae 0x4a132b
jmp case.0x4a1391.38
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a140b
cmp word [ebp - 0x1e], 0
je 0x4a13de
movzx eax, word [ebp - 0x1e]
jmp 0x4a13e3
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.004a09d9
jmp 0x4a49ee
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x4a4933
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.004a06c8
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4936
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x4a14d3
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a14b1
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov ecx, eax
jmp 0x4a14c2
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 0x4a4936
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a1517
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a14fd
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a150e
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 0x4a4936
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x4a155c
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a1541
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a1552
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 0x4a4936
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x4a15a0
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a1586
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a1597
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 0x4a4936
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a15c0
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a15d1
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 0x4a4936
cmp dword [ebp - 0x38], 0xffffffff
jne 0x4a15e7
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a1764
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a1701
cmp dword [ebp - 0x34], 0
je 0x4a1624
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x18], eax
jmp 0x4a1638
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 0x4a166a
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.004a09d9
jmp 0x4a49ee
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 0x4a16d1
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a16a4
movzx eax, word [ebp - 0x1e]
jmp 0x4a16a9
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a0a6f
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 0x4a1764
cmp dword [ebp - 0x34], 0
je 0x4a171e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x14], eax
jmp 0x4a1732
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 0x4a1764
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.004a09d9
jmp 0x4a49ee
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a17c7
cmp word [ebp - 0x1e], 0
je 0x4a179a
movzx eax, word [ebp - 0x1e]
jmp 0x4a179f
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.004a09d9
jmp 0x4a49ee
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 0x4a18b9
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
je 0x4a18b9
call fcn.004aede8
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 0x4a18b9
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 0x4a184a
call fcn.004aede8
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 0x4a1878
call fcn.004aede8
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x4a183b
cmp dword [ebp - 0x70], 0
jne 0x4a18a0
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a0938
mov eax, 0xffffffff
jmp 0x4a49ee
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 0x4a18d4
mov eax, dword [ebp - 0x14]
jmp 0x4a18d9
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004aefd2
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4a1932
cmp word [ebp - 0x1e], 0
je 0x4a1905
movzx eax, word [ebp - 0x1e]
jmp 0x4a190a
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a196f
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a17e5
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4939
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.004a0671
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a4939
cmp dword [ebp - 0x38], 0xffffffff
jne 0x4a19b6
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a1b4f
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a1aec
cmp dword [ebp - 0x34], 0
je 0x4a19f3
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x18], eax
jmp 0x4a1a07
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 0x4a1a39
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.004a09d9
jmp 0x4a49ee
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 0x4a1aaa
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a1a7d
movzx eax, word [ebp - 0x1e]
jmp 0x4a1a82
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4a1b4f
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a0a6f
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 0x4a1b4f
cmp dword [ebp - 0x34], 0
je 0x4a1b09
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x1c], eax
jmp 0x4a1b1d
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 0x4a1b4f
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.004a09d9
jmp 0x4a49ee
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1bb2
cmp word [ebp - 0x1e], 0
je 0x4a1b85
movzx eax, word [ebp - 0x1e]
jmp 0x4a1b8a
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a1cc2
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a1c76
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 0x4a1c76
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x38]
jle 0x4a1bf7
mov eax, dword [ebp - 0x38]
sub eax, 1
jmp 0x4a1bfa
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x2c], eax
jmp 0x4a1c0d
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 0x4a1c38
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x4a1c04
cmp dword [ebp - 0x1c], 0
jne 0x4a1c60
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a0938
mov eax, 0xffffffff
jmp 0x4a49ee
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 0x4a1cf6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1bc2
jmp 0x4a1cf6
nop
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a1cf6
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1cc3
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a493c
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.004a0671
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a493c
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a1eaf
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a1e4c
cmp dword [ebp - 0x34], 0
je 0x4a1d6f
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x18], eax
jmp 0x4a1d83
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 0x4a1db5
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.004a09d9
jmp 0x4a49ee
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 0x4a1e1c
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a1def
movzx eax, word [ebp - 0x1e]
jmp 0x4a1df4
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a0a6f
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 0x4a1eaf
cmp dword [ebp - 0x34], 0
je 0x4a1e69
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x14], eax
jmp 0x4a1e7d
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 0x4a1eaf
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.004a09d9
jmp 0x4a49ee
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1f12
cmp word [ebp - 0x1e], 0
je 0x4a1ee5
movzx eax, word [ebp - 0x1e]
jmp 0x4a1eea
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.004a09d9
jmp 0x4a49ee
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 0x4a1f7e
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.004a06c8
jmp 0x4a214d
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a2094
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a2094
call fcn.004aede8
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 0x4a2094
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 0x4a1fe3
call fcn.004aede8
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 0x4a2011
call fcn.004aede8
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x4a1fd4
cmp dword [ebp - 0x70], 0
jne 0x4a207b
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a203c
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 0x4a204e
movzx eax, word [ebp - 0x1e]
jmp 0x4a2053
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.004a09d9
jmp 0x4a49ee
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 0x4a20af
mov eax, dword [ebp - 0x14]
jmp 0x4a20b4
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004aefd2
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4a210a
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
cmp dword [ebp - 0x38], 0
jle 0x4a2120
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a214d
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1f30
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a493f
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.004aefd2
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x4a226c
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a226c
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 0x4a226c
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 0x4a224b
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a220c
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 0x4a221e
movzx eax, word [ebp - 0x1e]
jmp 0x4a2223
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.004a09d9
jmp 0x4a49ee
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 0x4a2294
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.004a0671
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a493f
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a2447
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a23e4
cmp dword [ebp - 0x34], 0
je 0x4a2307
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x18], eax
jmp 0x4a231b
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 0x4a234d
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.004a09d9
jmp 0x4a49ee
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 0x4a23b4
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a2387
movzx eax, word [ebp - 0x1e]
jmp 0x4a238c
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a0a6f
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 0x4a2447
cmp dword [ebp - 0x34], 0
je 0x4a2401
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x1c], eax
jmp 0x4a2415
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 0x4a2447
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.004a09d9
jmp 0x4a49ee
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a24aa
cmp word [ebp - 0x1e], 0
je 0x4a247d
movzx eax, word [ebp - 0x1e]
jmp 0x4a2482
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.004a09d9
jmp 0x4a49ee
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 0x4a24f8
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.004a06c8
jmp 0x4a2645
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a2608
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 0x4a2608
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 0x4a2608
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x4a2553
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 0x4a257e
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x4a254a
cmp dword [ebp - 0x1c], 0
jne 0x4a25f2
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a25b3
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 0x4a25c5
movzx eax, word [ebp - 0x1e]
jmp 0x4a25ca
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.004a09d9
jmp 0x4a49ee
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 0x4a2618
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a2645
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a24aa
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4942
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.004a0671
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a4942
mov eax, dword [ebp - 0x30]
sub eax, 0x58
cmp eax, 0x20
ja case.0x4a26a1.89
mov eax, dword [eax*4 + 0x4be90c]
jmp eax
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0xa
jmp case.0x4a26a1.89
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0
jmp case.0x4a26a1.89
mov dword [ebp - 0x40], 8
jmp case.0x4a26a1.89
mov dword [ebp - 0x40], 0x10
and dword [ebp - 0x3c], 0xfffffff1
or dword [ebp - 0x3c], 0x24
jmp case.0x4a26a1.89
mov dword [ebp - 0x40], 0xa
jmp case.0x4a26a1.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.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a274b
cmp word [ebp - 0x1e], 0
je 0x4a271e
movzx eax, word [ebp - 0x1e]
jmp 0x4a2723
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.004a09d9
jmp 0x4a49ee
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
je 0x4a2765
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
jne 0x4a27ce
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.004a0ab0
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 0x4a27b2
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.004a0754
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x4a28b8
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x4a28b8
cmp dword [ebp - 0x38], 0
jle 0x4a27f3
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.004a0ab0
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.004a0754
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x4a28ab
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x4a28ab
cmp dword [ebp - 0x40], 0
jne 0x4a287d
mov dword [ebp - 0x40], 0x10
cmp dword [ebp - 0x40], 0x10
jne 0x4a28b8
cmp dword [ebp - 0x38], 0
jle 0x4a288d
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.004a0754
mov word [ebp - 0xae], ax
jmp 0x4a28b8
cmp dword [ebp - 0x40], 0
jne 0x4a28b8
mov dword [ebp - 0x40], 8
cmp dword [ebp - 0x40], 0
jne 0x4a29c8
mov dword [ebp - 0x40], 0xa
jmp 0x4a29c8
cmp dword [ebp - 0x40], 0x10
jne 0x4a28f7
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 0x4a2952
jmp 0x4a29df
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 0x4a2927
movzx eax, word [ebp - 0xae]
movzx eax, ax
sub eax, 0x2f
cmp dword [ebp - 0x40], eax
jge 0x4a2952
cmp dword [ebp - 0x40], 0xa
jne 0x4a29df
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x4a29df
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
jne 0x4a29df
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x4a29a2
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.004a0ab0
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 0x4a29ac
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.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a29df
cmp dword [ebp - 0x38], 0
jne 0x4a28ce
cmp dword [ebp - 0x28], 0
je 0x4a2a11
cmp dword [ebp - 0x28], 1
jne 0x4a2ae5
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2b
je 0x4a2a11
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x4a2ae5
cmp dword [ebp - 0x28], 0
jne 0x4a2a8e
mov eax, dword [ebp - 0x3c]
and eax, 0x20
test eax, eax
je 0x4a2a8e
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.004a0868
test eax, eax
je 0x4a2a8e
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.004a0ab0
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 0x4a2b10
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.004a06c8
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.004a09d9
jmp 0x4a49ee
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.004a06c8
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.004a0ab0
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 0x4a2bbe
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x4a2b91
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.004a58fc
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4a2c14
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.004a5c64
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4a2c14
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x4a2bef
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 0x4a2c14
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 0x4a2c50
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4945
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x4a2dbe
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x4a2cbb
cmp dword [ebp - 0x34], 0
je 0x4a2c94
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov ecx, eax
jmp 0x4a2ca5
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 0x4a2f03
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a2cfd
cmp dword [ebp - 0x34], 0
je 0x4a2cdf
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a2cf0
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 0x4a2f03
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x4a2d42
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4a2d27
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a2d38
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 0x4a2f03
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x4a2d86
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4a2d6c
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a2d7d
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 0x4a2f03
cmp dword [ebp - 0x34], 0
je 0x4a2da0
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a2db1
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 0x4a2f03
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x4a2e0b
cmp dword [ebp - 0x34], 0
je 0x4a2de4
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov ecx, eax
jmp 0x4a2df5
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 0x4a2f03
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a2e4d
cmp dword [ebp - 0x34], 0
je 0x4a2e2f
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a2e40
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 0x4a2f03
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x4a2e8f
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4a2e77
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a2e88
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 0x4a2f03
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x4a2ed0
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4a2eb9
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a2eca
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 0x4a2f03
cmp dword [ebp - 0x34], 0
je 0x4a2eea
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a2efb
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 0x4a4945
cmp dword [ebp - 0x38], 0
jle 0x4a2f17
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.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a2f7a
cmp word [ebp - 0x1e], 0
je 0x4a2f4d
movzx eax, word [ebp - 0x1e]
jmp 0x4a2f52
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.004a09d9
jmp 0x4a49ee
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 0x4a2fb0
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x4a3015
cmp dword [ebp - 0x38], 0
je 0x4a2fdf
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a300b
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.004a09d9
jmp 0x4a49ee
cmp dword [ebp - 0x38], 0
jle 0x4a3015
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 0x4a315c
mov dword [ebp - 0x4c], 0x4be728
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.004a0ab0
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 0x4a30cb
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a30cb
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 0x4a30f7
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.004a09d9
jmp 0x4a49ee
cmp dword [ebp - 0x38], 0
jle 0x4a3101
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.004a0ab0
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 0x4a307f
jmp 0x4a3897
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x4a3471
mov dword [ebp - 0x50], 0x4be730
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.004a0ab0
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 0x4a3212
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a3212
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 0x4a323e
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.004a09d9
jmp 0x4a49ee
cmp dword [ebp - 0x38], 0
jle 0x4a3248
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.004a0ab0
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 0x4a31c6
cmp dword [ebp - 0x38], 0
je 0x4a3426
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a3426
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x4a3426
mov dword [ebp - 0x50], str.inity
cmp dword [ebp - 0x38], 0
jle 0x4a3302
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.004a0ab0
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 0x4a3395
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a3395
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 0x4a33c1
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.004a09d9
jmp 0x4a49ee
cmp dword [ebp - 0x38], 0
jle 0x4a33cb
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.004a0ab0
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 0x4a3349
jmp 0x4a3897
cmp dword [ebp - 0x38], 0
je 0x4a3897
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a3897
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.004a06c8
jmp 0x4a3897
mov word [ebp - 0x44], 0x65
cmp dword [ebp - 0x38], 0
je 0x4a3597
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x4a3597
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.004a0ab0
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.004a0754
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x4a34fb
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
je 0x4a3597
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x4a3597
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.004a0ab0
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.004a0754
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x4a3597
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 0x4a35fd
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.004a0ab0
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 0x4a3813
cmp byte [ebp - 0x42], 0
jne 0x4a3673
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x4a3673
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 0x4a3673
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.004a0ab0
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 0x4a3813
cmp byte [ebp - 0x42], 0
je 0x4a36f7
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 0x4a36f7
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
je 0x4a36af
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x4a36f7
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.004a0ab0
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 0x4a3813
cmp dword [ebp - 0x28], 0
je 0x4a376b
cmp byte [ebp - 0x42], 0
jne 0x4a376b
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp word [ebp - 0x44], ax
jne 0x4a376b
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.004a0ab0
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 0x4a3813
cmp byte [ebp - 0x41], 0
jne 0x4a37c7
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x5e], ax
jne 0x4a37c7
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.004a0ab0
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 0x4a3813
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x4a37e6
cmp byte [ebp - 0x41], 0
jne 0x4a37e6
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x4a3813
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.004a06c8
jmp 0x4a3855
cmp dword [ebp - 0x38], 0
je 0x4a3855
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a3855
cmp dword [ebp - 0x38], 0
jle 0x4a3597
sub dword [ebp - 0x38], 1
jmp 0x4a3597
cmp dword [ebp - 0x28], 0
je 0x4a386b
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x4a3897
cmp dword [ebp - 0x28], 2
jne 0x4a3897
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.004a09d9
jmp 0x4a49ee
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.004a0ab0
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 0x4a397e
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a5744
fstp xword [ebp - 0x9c]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3ab7
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4a3ab7
cmp byte [ebp - 0x7d], 0
je 0x4a393a
fld xword [ebp - 0x9c]
fchs
fstp xword [ebp - 0xe8]
jmp 0x4a3946
fld xword [ebp - 0x9c]
fstp xword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x4a3960
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a3971
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 0x4a3ab7
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a3a28
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a5504
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3ab7
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4a3ab7
cmp byte [ebp - 0x7d], 0
je 0x4a39e4
fld qword [ebp - 0x90]
fchs
fstp qword [ebp - 0xe8]
jmp 0x4a39f0
fld qword [ebp - 0x90]
fstp qword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x4a3a0a
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a3a1b
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 0x4a3ab7
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a55c8
fstp dword [ebp - 0x84]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3ab7
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4a3ab7
cmp byte [ebp - 0x7d], 0
je 0x4a3a78
fld dword [ebp - 0x84]
fchs
fstp dword [ebp - 0xe8]
jmp 0x4a3a84
fld dword [ebp - 0x84]
fstp dword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x4a3a9e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
jmp 0x4a3aaf
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 0x4a3af3
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4948
add word [ebp - 0x1e], 1
jmp 0x4a4948
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a3c9f
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3e1c
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a3c38
cmp dword [ebp - 0x34], 0
je 0x4a3b58
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x18], eax
jmp 0x4a3b6c
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 0x4a3b9e
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.004a09d9
jmp 0x4a49ee
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 0x4a3c05
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a3bd8
movzx eax, word [ebp - 0x1e]
jmp 0x4a3bdd
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a0a6f
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 0x4a3e1c
cmp dword [ebp - 0x34], 0
je 0x4a3c55
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x1c], eax
jmp 0x4a3c69
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 0x4a3e1c
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3e1c
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a3db9
cmp dword [ebp - 0x34], 0
je 0x4a3cdc
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x18], eax
jmp 0x4a3cf0
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 0x4a3d22
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.004a09d9
jmp 0x4a49ee
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 0x4a3d89
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a3d5c
movzx eax, word [ebp - 0x1e]
jmp 0x4a3d61
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a0a6f
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 0x4a3e1c
cmp dword [ebp - 0x34], 0
je 0x4a3dd6
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004a0638
mov dword [ebp - 0x14], eax
jmp 0x4a3dea
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 0x4a3e1c
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.004a09d9
jmp 0x4a49ee
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 0x4a3e40
add dword [ebp - 0xc], 2
cmp dword [ebp - 0x38], 0
jns 0x4a3e4d
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 0x4a3e66
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 0x4a3e85
cmp dword [ebp - 0x30], 0x5d
jne 0x4a3e67
cmp dword [ebp - 0x30], 0
jne 0x4a3eb7
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.004a09d9
jmp 0x4a49ee
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 0x4a4301
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.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a3f3a
cmp word [ebp - 0x1e], 0
je 0x4a3f0d
movzx eax, word [ebp - 0x1e]
jmp 0x4a3f12
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.004a09d9
jmp 0x4a49ee
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x48], eax
jmp 0x4a40db
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x4a4071
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x4a4071
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x4a4071
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x4a4071
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 0x4a4071
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x4a3fd0
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 0x4a3ff8
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a3fbf
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4a4018
cmp word [ebp - 0x44], 0
je 0x4a40e9
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4a406b
cmp word [ebp - 0x44], 0
je 0x4a406b
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.004a06c8
mov dword [ebp - 0x54], 1
jmp 0x4a40ed
add dword [ebp - 0x48], 4
jmp 0x4a40db
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a408a
cmp word [ebp - 0x44], 0
je 0x4a40ec
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a40d7
cmp word [ebp - 0x44], 0
je 0x4a40d7
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.004a06c8
mov dword [ebp - 0x54], 1
jmp 0x4a40ed
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x4a3f4f
jmp 0x4a40ed
nop
jmp 0x4a40ed
nop
cmp dword [ebp - 0x54], 0
jne 0x4a427f
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x4a4136
cmp word [ebp - 0x44], 0
jne 0x4a4136
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.004a06c8
jmp 0x4a4280
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4246
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 0x4a4246
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 0x4a4246
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x4a4191
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 0x4a41bc
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x4a4188
cmp dword [ebp - 0x1c], 0
jne 0x4a4230
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a41f1
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 0x4a4203
movzx eax, word [ebp - 0x1e]
jmp 0x4a4208
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.004a09d9
jmp 0x4a49ee
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 0x4a4280
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a3f3a
jmp 0x4a4280
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x4a42b7
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a494b
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.004a0671
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a494b
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.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a436d
cmp word [ebp - 0x1e], 0
je 0x4a4340
movzx eax, word [ebp - 0x1e]
jmp 0x4a4345
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.004a09d9
jmp 0x4a49ee
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 0x4a452c
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x4a44c2
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x4a44c2
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x4a44c2
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x4a44c2
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 0x4a44c2
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x4a4421
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 0x4a4449
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a4410
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4a4469
cmp word [ebp - 0x44], 0
je 0x4a453a
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4a44bc
cmp word [ebp - 0x44], 0
je 0x4a44bc
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.004a06c8
mov dword [ebp - 0x58], 1
jmp 0x4a453e
add dword [ebp - 0x48], 4
jmp 0x4a452c
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a44db
cmp word [ebp - 0x44], 0
je 0x4a453d
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a4528
cmp word [ebp - 0x44], 0
je 0x4a4528
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.004a06c8
mov dword [ebp - 0x58], 1
jmp 0x4a453e
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x4a43a0
jmp 0x4a453e
nop
jmp 0x4a453e
nop
cmp dword [ebp - 0x58], 0
jne 0x4a4752
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x4a4587
cmp word [ebp - 0x44], 0
jne 0x4a4587
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.004a06c8
jmp 0x4a4753
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a469d
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a469d
call fcn.004aede8
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 0x4a469d
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 0x4a45ec
call fcn.004aede8
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 0x4a461a
call fcn.004aede8
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x4a45dd
cmp dword [ebp - 0x70], 0
jne 0x4a4684
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a4645
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 0x4a4657
movzx eax, word [ebp - 0x1e]
jmp 0x4a465c
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.004a09d9
jmp 0x4a49ee
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 0x4a46b8
mov eax, dword [ebp - 0x14]
jmp 0x4a46bd
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004aefd2
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4a4713
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a4753
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a438b
jmp 0x4a4753
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x4a478a
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.004a09d9
jmp 0x4a49ee
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a494b
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.004aefd2
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x4a48a9
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a48a9
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 0x4a48a9
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 0x4a4888
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a4849
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 0x4a485b
movzx eax, word [ebp - 0x1e]
jmp 0x4a4860
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.004a09d9
jmp 0x4a49ee
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 0x4a48d1
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.004a0671
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a494b
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.004a09d9
jmp 0x4a49ee
nop
jmp 0x4a494c
nop
jmp 0x4a494c
nop
jmp 0x4a494c
nop
jmp 0x4a494c
nop
jmp 0x4a494c
nop
jmp 0x4a494c
nop
jmp 0x4a494c
nop
jmp 0x4a494c
nop
jmp 0x4a494c
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x4a0ca0
cmp dword [ebp - 0x24], 0
je 0x4a49c7
nop
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a0754
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 0x4a4962
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.004a06c8
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.004a09d9
mov ebx, dword [ebp - 4]
leave
ret