Function at 0x4a3461
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 0x4a0511
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x4a0511
cmp dword [ebp + 0xc], 0
jne 0x4a0526
call sub.msvcrt.dll__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x4a4342
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.004aec58
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x4a0581
movzx eax, word [ebp - 0xbc]
jmp 0x4a0586
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.004aec58
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x4a05e6
movzx eax, word [ebp - 0xbc]
jmp 0x4a05eb
mov eax, 0
mov word [ebp - 0x60], ax
jmp 0x4a42a0
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 0x4a07bb
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 0x4a0636
mov dword [ebp - 0x24], 1
jmp 0x4a4284
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a0699
cmp word [ebp - 0x1e], 0
je 0x4a066c
movzx eax, word [ebp - 0x1e]
jmp 0x4a0671
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.004a032d
jmp 0x4a4342
cmp dword [ebp - 0x24], 0
je 0x4a0751
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 0x4a0751
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a072f
cmp word [ebp - 0x1e], 0
je 0x4a0702
movzx eax, word [ebp - 0x1e]
jmp 0x4a0707
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.004a032d
jmp 0x4a4342
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 0x4a06cc
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x4a4284
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.004a001c
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.004a032d
jmp 0x4a4342
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 0x4a0871
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 0x4a0835
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 0x4a0810
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x24
je 0x4a086d
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xc], eax
jmp 0x4a0871
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x2a
jne 0x4a0886
or dword [ebp - 0x3c], 0x80
jmp 0x4a0902
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x27
jne 0x4a08a2
cmp word [ebp - 0x60], 0
je 0x4a0902
or dword [ebp - 0x3c], 0x100
jmp 0x4a0902
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x49
jne 0x4a090b
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x36
jne 0x4a08d6
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x34
jne 0x4a08d6
or dword [ebp - 0x3c], 0xc
add dword [ebp - 0xc], 4
jmp 0x4a0902
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x33
jne 0x4a08fe
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x32
jne 0x4a08fe
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 4
jmp 0x4a0902
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4a0871
nop
jmp 0x4a0933
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 0x4a090e
cmp dword [ebp - 0x38], 0
jne 0x4a095d
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
movzx eax, ax
test eax, eax
je 0x4a0a97
test eax, eax
js case.0x4a099b.77
cmp eax, 0x7a
jg case.0x4a099b.77
cmp eax, 0x4c
jl case.0x4a099b.77
sub eax, 0x4c
cmp eax, 0x2e
ja case.0x4a099b.77
mov eax, dword [eax*4 + 0x4bcd88]
jmp eax
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x4a09b4
mov eax, 1
jmp 0x4a09b9
mov eax, 2
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x4a0ac6
add dword [ebp - 0xc], 2
jmp 0x4a0ac6
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x4a09ec
mov eax, 0xc
jmp 0x4a09f1
mov eax, 4
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x4a0ac9
add dword [ebp - 0xc], 2
jmp 0x4a0ac9
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0xc
jmp 0x4a0ad0
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x73
je 0x4a0a4b
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x53
je 0x4a0a4b
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x5b
jne 0x4a0acc
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0x200
jmp 0x4a0ad0
or dword [ebp - 0x3c], 0x400
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x4a0acf
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4a0acf
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4a0ad0
or dword [ebp - 0x3c], 8
add dword [ebp - 0xc], 2
jmp 0x4a0ad0
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x4a0ad0
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.004a032d
jmp 0x4a4342
nop
jmp 0x4a0ad0
nop
jmp 0x4a0ad0
nop
jmp 0x4a0ad0
nop
jmp 0x4a0ad0
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x4a0b07
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.004a032d
jmp 0x4a4342
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 0x4a0b47
cmp dword [ebp - 0x30], 0x5b
je 0x4a0c36
cmp dword [ebp - 0x30], 0x63
je 0x4a0c36
cmp dword [ebp - 0x30], 0x43
je 0x4a0c36
cmp dword [ebp - 0x30], 0x6e
je 0x4a0c36
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 0x4a0b92
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a0bd8
call sub.msvcrt.dll__errno
mov eax, dword [eax]
cmp eax, 4
jne 0x4a0bd8
cmp word [ebp - 0x1e], 0
je 0x4a0bab
movzx eax, word [ebp - 0x1e]
jmp 0x4a0bb0
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.004a032d
jmp 0x4a4342
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 0x4a0b5c
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.004a001c
cmp dword [ebp - 0x30], 0x63
je 0x4a0c44
cmp dword [ebp - 0x30], 0x73
je 0x4a0c57
jmp 0x4a0c6e
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a0c6a
mov dword [ebp - 0x30], 0x43
jmp 0x4a0c6a
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a0c6d
mov dword [ebp - 0x30], 0x53
jmp 0x4a0c6d
nop
jmp 0x4a0c6e
nop
cmp dword [ebp - 0x30], 0x67
ja 0x4a0ce7
cmp dword [ebp - 0x30], 0x25
jae 0x4a0ccf
jmp case.0x4a0ce5.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.0x4a0ce5.88
mov edx, eax
and edx, 0x400
test edx, edx
setne dl
test dl, dl
jne 0x4a1686
and eax, 0x20
test eax, eax
setne al
test al, al
jne 0x4a0dc9
jmp case.0x4a0ce5.38
mov eax, dword [ebp - 0x30]
sub eax, 0x25
cmp eax, 0x42
ja case.0x4a0ce5.38
mov eax, dword [eax*4 + 0x4bce44]
jmp eax
cmp dword [ebp - 0x30], 0x78
ja case.0x4a0ce5.38
cmp dword [ebp - 0x30], 0x69
jae 0x4a0c7f
jmp case.0x4a0ce5.38
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a0d5f
cmp word [ebp - 0x1e], 0
je 0x4a0d32
movzx eax, word [ebp - 0x1e]
jmp 0x4a0d37
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.004a032d
jmp 0x4a4342
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x4a4287
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.004a001c
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a428a
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x4a0e27
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a0e05
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov ecx, eax
jmp 0x4a0e16
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 0x4a428a
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a0e6b
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a0e51
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a0e62
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 0x4a428a
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x4a0eb0
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a0e95
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a0ea6
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 0x4a428a
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x4a0ef4
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a0eda
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a0eeb
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 0x4a428a
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x4a0f14
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a0f25
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 0x4a428a
cmp dword [ebp - 0x38], 0xffffffff
jne 0x4a0f3b
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a10b8
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a1055
cmp dword [ebp - 0x34], 0
je 0x4a0f78
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x18], eax
jmp 0x4a0f8c
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 0x4a0fbe
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.004a032d
jmp 0x4a4342
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 0x4a1025
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a0ff8
movzx eax, word [ebp - 0x1e]
jmp 0x4a0ffd
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a03c3
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 0x4a10b8
cmp dword [ebp - 0x34], 0
je 0x4a1072
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x14], eax
jmp 0x4a1086
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 0x4a10b8
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.004a032d
jmp 0x4a4342
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a111b
cmp word [ebp - 0x1e], 0
je 0x4a10ee
movzx eax, word [ebp - 0x1e]
jmp 0x4a10f3
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.004a032d
jmp 0x4a4342
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 0x4a120d
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
je 0x4a120d
call fcn.004ae73c
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 0x4a120d
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 0x4a119e
call fcn.004ae73c
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 0x4a11cc
call fcn.004ae73c
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x4a118f
cmp dword [ebp - 0x70], 0
jne 0x4a11f4
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a028c
mov eax, 0xffffffff
jmp 0x4a4342
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 0x4a1228
mov eax, dword [ebp - 0x14]
jmp 0x4a122d
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ae926
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4a1286
cmp word [ebp - 0x1e], 0
je 0x4a1259
movzx eax, word [ebp - 0x1e]
jmp 0x4a125e
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a12c3
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1139
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a428d
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.0049ffc5
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a428d
cmp dword [ebp - 0x38], 0xffffffff
jne 0x4a130a
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a14a3
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a1440
cmp dword [ebp - 0x34], 0
je 0x4a1347
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x18], eax
jmp 0x4a135b
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 0x4a138d
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.004a032d
jmp 0x4a4342
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 0x4a13fe
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a13d1
movzx eax, word [ebp - 0x1e]
jmp 0x4a13d6
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4a14a3
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a03c3
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 0x4a14a3
cmp dword [ebp - 0x34], 0
je 0x4a145d
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x1c], eax
jmp 0x4a1471
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 0x4a14a3
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.004a032d
jmp 0x4a4342
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1506
cmp word [ebp - 0x1e], 0
je 0x4a14d9
movzx eax, word [ebp - 0x1e]
jmp 0x4a14de
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a1616
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a15ca
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 0x4a15ca
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x38]
jle 0x4a154b
mov eax, dword [ebp - 0x38]
sub eax, 1
jmp 0x4a154e
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x2c], eax
jmp 0x4a1561
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 0x4a158c
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x4a1558
cmp dword [ebp - 0x1c], 0
jne 0x4a15b4
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a028c
mov eax, 0xffffffff
jmp 0x4a4342
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 0x4a164a
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1516
jmp 0x4a164a
nop
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a164a
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1617
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4290
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.0049ffc5
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a4290
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a1803
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a17a0
cmp dword [ebp - 0x34], 0
je 0x4a16c3
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x18], eax
jmp 0x4a16d7
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 0x4a1709
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.004a032d
jmp 0x4a4342
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 0x4a1770
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a1743
movzx eax, word [ebp - 0x1e]
jmp 0x4a1748
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a03c3
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 0x4a1803
cmp dword [ebp - 0x34], 0
je 0x4a17bd
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x14], eax
jmp 0x4a17d1
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 0x4a1803
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.004a032d
jmp 0x4a4342
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1866
cmp word [ebp - 0x1e], 0
je 0x4a1839
movzx eax, word [ebp - 0x1e]
jmp 0x4a183e
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.004a032d
jmp 0x4a4342
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 0x4a18d2
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.004a001c
jmp 0x4a1aa1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a19e8
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a19e8
call fcn.004ae73c
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 0x4a19e8
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 0x4a1937
call fcn.004ae73c
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 0x4a1965
call fcn.004ae73c
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x4a1928
cmp dword [ebp - 0x70], 0
jne 0x4a19cf
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a1990
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 0x4a19a2
movzx eax, word [ebp - 0x1e]
jmp 0x4a19a7
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.004a032d
jmp 0x4a4342
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 0x4a1a03
mov eax, dword [ebp - 0x14]
jmp 0x4a1a08
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ae926
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4a1a5e
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
cmp dword [ebp - 0x38], 0
jle 0x4a1a74
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a1aa1
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1884
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4293
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.004ae926
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x4a1bc0
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a1bc0
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 0x4a1bc0
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 0x4a1b9f
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a1b60
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 0x4a1b72
movzx eax, word [ebp - 0x1e]
jmp 0x4a1b77
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.004a032d
jmp 0x4a4342
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 0x4a1be8
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.0049ffc5
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a4293
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a1d9b
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a1d38
cmp dword [ebp - 0x34], 0
je 0x4a1c5b
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x18], eax
jmp 0x4a1c6f
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 0x4a1ca1
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.004a032d
jmp 0x4a4342
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 0x4a1d08
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a1cdb
movzx eax, word [ebp - 0x1e]
jmp 0x4a1ce0
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a03c3
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 0x4a1d9b
cmp dword [ebp - 0x34], 0
je 0x4a1d55
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x1c], eax
jmp 0x4a1d69
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 0x4a1d9b
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.004a032d
jmp 0x4a4342
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1dfe
cmp word [ebp - 0x1e], 0
je 0x4a1dd1
movzx eax, word [ebp - 0x1e]
jmp 0x4a1dd6
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.004a032d
jmp 0x4a4342
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 0x4a1e4c
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.004a001c
jmp 0x4a1f99
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a1f5c
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 0x4a1f5c
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 0x4a1f5c
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x4a1ea7
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 0x4a1ed2
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x4a1e9e
cmp dword [ebp - 0x1c], 0
jne 0x4a1f46
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a1f07
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 0x4a1f19
movzx eax, word [ebp - 0x1e]
jmp 0x4a1f1e
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.004a032d
jmp 0x4a4342
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 0x4a1f6c
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a1f99
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a1dfe
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4296
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.0049ffc5
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a4296
mov eax, dword [ebp - 0x30]
sub eax, 0x58
cmp eax, 0x20
ja case.0x4a1ff5.89
mov eax, dword [eax*4 + 0x4bcf50]
jmp eax
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0xa
jmp case.0x4a1ff5.89
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0
jmp case.0x4a1ff5.89
mov dword [ebp - 0x40], 8
jmp case.0x4a1ff5.89
mov dword [ebp - 0x40], 0x10
and dword [ebp - 0x3c], 0xfffffff1
or dword [ebp - 0x3c], 0x24
jmp case.0x4a1ff5.89
mov dword [ebp - 0x40], 0xa
jmp case.0x4a1ff5.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.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a209f
cmp word [ebp - 0x1e], 0
je 0x4a2072
movzx eax, word [ebp - 0x1e]
jmp 0x4a2077
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.004a032d
jmp 0x4a4342
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
je 0x4a20b9
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
jne 0x4a2122
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.004a0404
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 0x4a2106
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.004a00a8
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x4a220c
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x4a220c
cmp dword [ebp - 0x38], 0
jle 0x4a2147
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.004a0404
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.004a00a8
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x4a21ff
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x4a21ff
cmp dword [ebp - 0x40], 0
jne 0x4a21d1
mov dword [ebp - 0x40], 0x10
cmp dword [ebp - 0x40], 0x10
jne 0x4a220c
cmp dword [ebp - 0x38], 0
jle 0x4a21e1
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.004a00a8
mov word [ebp - 0xae], ax
jmp 0x4a220c
cmp dword [ebp - 0x40], 0
jne 0x4a220c
mov dword [ebp - 0x40], 8
cmp dword [ebp - 0x40], 0
jne 0x4a231c
mov dword [ebp - 0x40], 0xa
jmp 0x4a231c
cmp dword [ebp - 0x40], 0x10
jne 0x4a224b
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 0x4a22a6
jmp 0x4a2333
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 0x4a227b
movzx eax, word [ebp - 0xae]
movzx eax, ax
sub eax, 0x2f
cmp dword [ebp - 0x40], eax
jge 0x4a22a6
cmp dword [ebp - 0x40], 0xa
jne 0x4a2333
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x4a2333
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
jne 0x4a2333
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x4a22f6
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.004a0404
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 0x4a2300
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.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a2333
cmp dword [ebp - 0x38], 0
jne 0x4a2222
cmp dword [ebp - 0x28], 0
je 0x4a2365
cmp dword [ebp - 0x28], 1
jne 0x4a2439
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2b
je 0x4a2365
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x4a2439
cmp dword [ebp - 0x28], 0
jne 0x4a23e2
mov eax, dword [ebp - 0x3c]
and eax, 0x20
test eax, eax
je 0x4a23e2
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.004a01bc
test eax, eax
je 0x4a23e2
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.004a0404
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 0x4a2464
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.004a001c
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.004a032d
jmp 0x4a4342
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.004a001c
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.004a0404
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 0x4a2512
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x4a24e5
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.004a5250
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4a2568
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.004a55b8
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x4a2568
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x4a2543
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 0x4a2568
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 0x4a25a4
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a4299
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x4a2712
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x4a260f
cmp dword [ebp - 0x34], 0
je 0x4a25e8
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov ecx, eax
jmp 0x4a25f9
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 0x4a2857
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a2651
cmp dword [ebp - 0x34], 0
je 0x4a2633
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a2644
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 0x4a2857
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x4a2696
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4a267b
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a268c
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 0x4a2857
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x4a26da
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4a26c0
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a26d1
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 0x4a2857
cmp dword [ebp - 0x34], 0
je 0x4a26f4
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a2705
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 0x4a2857
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x4a275f
cmp dword [ebp - 0x34], 0
je 0x4a2738
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov ecx, eax
jmp 0x4a2749
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 0x4a2857
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a27a1
cmp dword [ebp - 0x34], 0
je 0x4a2783
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a2794
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 0x4a2857
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x4a27e3
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4a27cb
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a27dc
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 0x4a2857
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x4a2824
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x4a280d
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a281e
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 0x4a2857
cmp dword [ebp - 0x34], 0
je 0x4a283e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a284f
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 0x4a4299
cmp dword [ebp - 0x38], 0
jle 0x4a286b
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.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a28ce
cmp word [ebp - 0x1e], 0
je 0x4a28a1
movzx eax, word [ebp - 0x1e]
jmp 0x4a28a6
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.004a032d
jmp 0x4a4342
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 0x4a2904
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x4a2969
cmp dword [ebp - 0x38], 0
je 0x4a2933
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a295f
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.004a032d
jmp 0x4a4342
cmp dword [ebp - 0x38], 0
jle 0x4a2969
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 0x4a2ab0
mov dword [ebp - 0x4c], 0x4bcd6c
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.004a0404
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 0x4a2a1f
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a2a1f
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 0x4a2a4b
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.004a032d
jmp 0x4a4342
cmp dword [ebp - 0x38], 0
jle 0x4a2a55
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.004a0404
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 0x4a29d3
jmp 0x4a31eb
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x4a2dc5
mov dword [ebp - 0x50], 0x4bcd74
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.004a0404
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 0x4a2b66
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a2b66
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 0x4a2b92
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.004a032d
jmp 0x4a4342
cmp dword [ebp - 0x38], 0
jle 0x4a2b9c
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.004a0404
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 0x4a2b1a
cmp dword [ebp - 0x38], 0
je 0x4a2d7a
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a2d7a
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x4a2d7a
mov dword [ebp - 0x50], str.inity
cmp dword [ebp - 0x38], 0
jle 0x4a2c56
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.004a0404
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 0x4a2ce9
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a2ce9
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 0x4a2d15
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.004a032d
jmp 0x4a4342
cmp dword [ebp - 0x38], 0
jle 0x4a2d1f
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.004a0404
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 0x4a2c9d
jmp 0x4a31eb
cmp dword [ebp - 0x38], 0
je 0x4a31eb
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a31eb
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.004a001c
jmp 0x4a31eb
mov word [ebp - 0x44], 0x65
cmp dword [ebp - 0x38], 0
je 0x4a2eeb
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x4a2eeb
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.004a0404
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.004a00a8
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x4a2e4f
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
je 0x4a2eeb
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x4a2eeb
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.004a0404
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.004a00a8
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x4a2eeb
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 0x4a2f51
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.004a0404
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 0x4a3167
cmp byte [ebp - 0x42], 0
jne 0x4a2fc7
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x4a2fc7
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 0x4a2fc7
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.004a0404
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 0x4a3167
cmp byte [ebp - 0x42], 0
je 0x4a304b
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 0x4a304b
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
je 0x4a3003
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x4a304b
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.004a0404
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 0x4a3167
cmp dword [ebp - 0x28], 0
je 0x4a30bf
cmp byte [ebp - 0x42], 0
jne 0x4a30bf
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp word [ebp - 0x44], ax
jne 0x4a30bf
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.004a0404
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 0x4a3167
cmp byte [ebp - 0x41], 0
jne 0x4a311b
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x5e], ax
jne 0x4a311b
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.004a0404
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 0x4a3167
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x4a313a
cmp byte [ebp - 0x41], 0
jne 0x4a313a
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x4a3167
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.004a001c
jmp 0x4a31a9
cmp dword [ebp - 0x38], 0
je 0x4a31a9
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x4a31a9
cmp dword [ebp - 0x38], 0
jle 0x4a2eeb
sub dword [ebp - 0x38], 1
jmp 0x4a2eeb
cmp dword [ebp - 0x28], 0
je 0x4a31bf
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x4a31eb
cmp dword [ebp - 0x28], 2
jne 0x4a31eb
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.004a032d
jmp 0x4a4342
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.004a0404
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 0x4a32d2
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a5098
fstp xword [ebp - 0x9c]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a340b
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4a340b
cmp byte [ebp - 0x7d], 0
je 0x4a328e
fld xword [ebp - 0x9c]
fchs
fstp xword [ebp - 0xe8]
jmp 0x4a329a
fld xword [ebp - 0x9c]
fstp xword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x4a32b4
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a32c5
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 0x4a340b
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a337c
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a4e58
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a340b
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4a340b
cmp byte [ebp - 0x7d], 0
je 0x4a3338
fld qword [ebp - 0x90]
fchs
fstp qword [ebp - 0xe8]
jmp 0x4a3344
fld qword [ebp - 0x90]
fstp qword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x4a335e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a336f
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 0x4a340b
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a4f1c
fstp dword [ebp - 0x84]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a340b
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x4a340b
cmp byte [ebp - 0x7d], 0
je 0x4a33cc
fld dword [ebp - 0x84]
fchs
fstp dword [ebp - 0xe8]
jmp 0x4a33d8
fld dword [ebp - 0x84]
fstp dword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x4a33f2
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
jmp 0x4a3403
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 0x4a3447
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a429c
add word [ebp - 0x1e], 1
jmp 0x4a429c
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x4a35f3
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3770
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a358c
cmp dword [ebp - 0x34], 0
je 0x4a34ac
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x18], eax
jmp 0x4a34c0
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 0x4a34f2
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.004a032d
jmp 0x4a4342
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 0x4a3559
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a352c
movzx eax, word [ebp - 0x1e]
jmp 0x4a3531
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a03c3
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 0x4a3770
cmp dword [ebp - 0x34], 0
je 0x4a35a9
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x1c], eax
jmp 0x4a35bd
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 0x4a3770
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3770
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a370d
cmp dword [ebp - 0x34], 0
je 0x4a3630
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x18], eax
jmp 0x4a3644
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 0x4a3676
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.004a032d
jmp 0x4a4342
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 0x4a36dd
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a36b0
movzx eax, word [ebp - 0x1e]
jmp 0x4a36b5
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.004a03c3
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 0x4a3770
cmp dword [ebp - 0x34], 0
je 0x4a372a
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.0049ff8c
mov dword [ebp - 0x14], eax
jmp 0x4a373e
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 0x4a3770
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.004a032d
jmp 0x4a4342
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 0x4a3794
add dword [ebp - 0xc], 2
cmp dword [ebp - 0x38], 0
jns 0x4a37a1
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 0x4a37ba
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 0x4a37d9
cmp dword [ebp - 0x30], 0x5d
jne 0x4a37bb
cmp dword [ebp - 0x30], 0
jne 0x4a380b
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.004a032d
jmp 0x4a4342
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 0x4a3c55
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.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a388e
cmp word [ebp - 0x1e], 0
je 0x4a3861
movzx eax, word [ebp - 0x1e]
jmp 0x4a3866
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.004a032d
jmp 0x4a4342
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x48], eax
jmp 0x4a3a2f
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x4a39c5
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x4a39c5
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x4a39c5
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x4a39c5
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 0x4a39c5
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x4a3924
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 0x4a394c
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a3913
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4a396c
cmp word [ebp - 0x44], 0
je 0x4a3a3d
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4a39bf
cmp word [ebp - 0x44], 0
je 0x4a39bf
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.004a001c
mov dword [ebp - 0x54], 1
jmp 0x4a3a41
add dword [ebp - 0x48], 4
jmp 0x4a3a2f
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a39de
cmp word [ebp - 0x44], 0
je 0x4a3a40
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a3a2b
cmp word [ebp - 0x44], 0
je 0x4a3a2b
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.004a001c
mov dword [ebp - 0x54], 1
jmp 0x4a3a41
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x4a38a3
jmp 0x4a3a41
nop
jmp 0x4a3a41
nop
cmp dword [ebp - 0x54], 0
jne 0x4a3bd3
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x4a3a8a
cmp word [ebp - 0x44], 0
jne 0x4a3a8a
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.004a001c
jmp 0x4a3bd4
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3b9a
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 0x4a3b9a
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 0x4a3b9a
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x4a3ae5
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 0x4a3b10
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x4a3adc
cmp dword [ebp - 0x1c], 0
jne 0x4a3b84
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a3b45
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 0x4a3b57
movzx eax, word [ebp - 0x1e]
jmp 0x4a3b5c
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.004a032d
jmp 0x4a4342
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 0x4a3bd4
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a388e
jmp 0x4a3bd4
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x4a3c0b
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a429f
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.0049ffc5
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a429f
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.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a3cc1
cmp word [ebp - 0x1e], 0
je 0x4a3c94
movzx eax, word [ebp - 0x1e]
jmp 0x4a3c99
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.004a032d
jmp 0x4a4342
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 0x4a3e80
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x4a3e16
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x4a3e16
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x4a3e16
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x4a3e16
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 0x4a3e16
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x4a3d75
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 0x4a3d9d
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a3d64
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4a3dbd
cmp word [ebp - 0x44], 0
je 0x4a3e8e
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x4a3e10
cmp word [ebp - 0x44], 0
je 0x4a3e10
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.004a001c
mov dword [ebp - 0x58], 1
jmp 0x4a3e92
add dword [ebp - 0x48], 4
jmp 0x4a3e80
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a3e2f
cmp word [ebp - 0x44], 0
je 0x4a3e91
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x4a3e7c
cmp word [ebp - 0x44], 0
je 0x4a3e7c
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.004a001c
mov dword [ebp - 0x58], 1
jmp 0x4a3e92
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x4a3cf4
jmp 0x4a3e92
nop
jmp 0x4a3e92
nop
cmp dword [ebp - 0x58], 0
jne 0x4a40a6
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x4a3edb
cmp word [ebp - 0x44], 0
jne 0x4a3edb
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.004a001c
jmp 0x4a40a7
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a3ff1
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a3ff1
call fcn.004ae73c
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 0x4a3ff1
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 0x4a3f40
call fcn.004ae73c
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 0x4a3f6e
call fcn.004ae73c
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x4a3f31
cmp dword [ebp - 0x70], 0
jne 0x4a3fd8
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a3f99
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 0x4a3fab
movzx eax, word [ebp - 0x1e]
jmp 0x4a3fb0
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.004a032d
jmp 0x4a4342
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 0x4a400c
mov eax, dword [ebp - 0x14]
jmp 0x4a4011
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004ae926
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x4a4067
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x4a40a7
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x4a3cdf
jmp 0x4a40a7
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x4a40de
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.004a032d
jmp 0x4a4342
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x4a429f
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.004ae926
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x4a41fd
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x4a41fd
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 0x4a41fd
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 0x4a41dc
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x4a419d
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 0x4a41af
movzx eax, word [ebp - 0x1e]
jmp 0x4a41b4
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.004a032d
jmp 0x4a4342
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 0x4a4225
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.0049ffc5
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x4a429f
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.004a032d
jmp 0x4a4342
nop
jmp 0x4a42a0
nop
jmp 0x4a42a0
nop
jmp 0x4a42a0
nop
jmp 0x4a42a0
nop
jmp 0x4a42a0
nop
jmp 0x4a42a0
nop
jmp 0x4a42a0
nop
jmp 0x4a42a0
nop
jmp 0x4a42a0
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x4a05f4
cmp dword [ebp - 0x24], 0
je 0x4a431b
nop
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004a00a8
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 0x4a42b6
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.004a001c
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.004a032d
mov ebx, dword [ebp - 4]
leave
ret