Function at 0x548431
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 0x5454e1
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x5454e1
cmp dword [ebp + 0xc], 0
jne 0x5454f6
call sub.msvcrt.dll__errno
mov dword [eax], 0x16
mov eax, 0xffffffff
jmp 0x549312
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.00553c28
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x545551
movzx eax, word [ebp - 0xbc]
jmp 0x545556
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.00553c28
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
jle 0x5455b6
movzx eax, word [ebp - 0xbc]
jmp 0x5455bb
mov eax, 0
mov word [ebp - 0x60], ax
jmp 0x549270
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 0x54578b
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 0x545606
mov dword [ebp - 0x24], 1
jmp 0x549254
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x545669
cmp word [ebp - 0x1e], 0
je 0x54563c
movzx eax, word [ebp - 0x1e]
jmp 0x545641
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.005452fd
jmp 0x549312
cmp dword [ebp - 0x24], 0
je 0x545721
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 0x545721
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x5456ff
cmp word [ebp - 0x1e], 0
je 0x5456d2
movzx eax, word [ebp - 0x1e]
jmp 0x5456d7
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.005452fd
jmp 0x549312
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 0x54569c
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x549254
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.00544fec
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.005452fd
jmp 0x549312
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 0x545841
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 0x545805
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 0x5457e0
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x24
je 0x54583d
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xc], eax
jmp 0x545841
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x2a
jne 0x545856
or dword [ebp - 0x3c], 0x80
jmp 0x5458d2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x27
jne 0x545872
cmp word [ebp - 0x60], 0
je 0x5458d2
or dword [ebp - 0x3c], 0x100
jmp 0x5458d2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x49
jne 0x5458db
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x36
jne 0x5458a6
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x34
jne 0x5458a6
or dword [ebp - 0x3c], 0xc
add dword [ebp - 0xc], 4
jmp 0x5458d2
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x33
jne 0x5458ce
mov eax, dword [ebp - 0xc]
add eax, 4
movzx eax, word [eax]
cmp ax, 0x32
jne 0x5458ce
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 4
jmp 0x5458d2
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x545841
nop
jmp 0x545903
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 0x5458de
cmp dword [ebp - 0x38], 0
jne 0x54592d
mov dword [ebp - 0x38], 0xffffffff
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
movzx eax, ax
test eax, eax
je 0x545a67
test eax, eax
js case.0x54596b.77
cmp eax, 0x7a
jg case.0x54596b.77
cmp eax, 0x4c
jl case.0x54596b.77
sub eax, 0x4c
cmp eax, 0x2e
ja case.0x54596b.77
mov eax, dword [eax*4 + 0x562c68]
jmp eax
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x545984
mov eax, 1
jmp 0x545989
mov eax, 2
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x68
jne 0x545a96
add dword [ebp - 0xc], 2
jmp 0x545a96
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x5459bc
mov eax, 0xc
jmp 0x5459c1
mov eax, 4
or dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x545a99
add dword [ebp - 0xc], 2
jmp 0x545a99
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0xc
jmp 0x545aa0
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x73
je 0x545a1b
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x53
je 0x545a1b
mov eax, dword [ebp - 0xc]
add eax, 2
movzx eax, word [eax]
cmp ax, 0x5b
jne 0x545a9c
add dword [ebp - 0xc], 2
or dword [ebp - 0x3c], 0x200
jmp 0x545aa0
or dword [ebp - 0x3c], 0x400
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp ax, 0x6c
jne 0x545a9f
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x545a9f
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x545aa0
or dword [ebp - 0x3c], 8
add dword [ebp - 0xc], 2
jmp 0x545aa0
or dword [ebp - 0x3c], 4
add dword [ebp - 0xc], 2
jmp 0x545aa0
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.005452fd
jmp 0x549312
nop
jmp 0x545aa0
nop
jmp 0x545aa0
nop
jmp 0x545aa0
nop
jmp 0x545aa0
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x545ad7
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.005452fd
jmp 0x549312
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 0x545b17
cmp dword [ebp - 0x30], 0x5b
je 0x545c06
cmp dword [ebp - 0x30], 0x63
je 0x545c06
cmp dword [ebp - 0x30], 0x43
je 0x545c06
cmp dword [ebp - 0x30], 0x6e
je 0x545c06
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 0x545b62
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x545ba8
call sub.msvcrt.dll__errno
mov eax, dword [eax]
cmp eax, 4
jne 0x545ba8
cmp word [ebp - 0x1e], 0
je 0x545b7b
movzx eax, word [ebp - 0x1e]
jmp 0x545b80
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.005452fd
jmp 0x549312
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 0x545b2c
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.00544fec
cmp dword [ebp - 0x30], 0x63
je 0x545c14
cmp dword [ebp - 0x30], 0x73
je 0x545c27
jmp 0x545c3e
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x545c3a
mov dword [ebp - 0x30], 0x43
jmp 0x545c3a
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x545c3d
mov dword [ebp - 0x30], 0x53
jmp 0x545c3d
nop
jmp 0x545c3e
nop
cmp dword [ebp - 0x30], 0x67
ja 0x545cb7
cmp dword [ebp - 0x30], 0x25
jae 0x545c9f
jmp case.0x545cb5.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.0x545cb5.88
mov edx, eax
and edx, 0x400
test edx, edx
setne dl
test dl, dl
jne 0x546656
and eax, 0x20
test eax, eax
setne al
test al, al
jne 0x545d99
jmp case.0x545cb5.38
mov eax, dword [ebp - 0x30]
sub eax, 0x25
cmp eax, 0x42
ja case.0x545cb5.38
mov eax, dword [eax*4 + 0x562d24]
jmp eax
cmp dword [ebp - 0x30], 0x78
ja case.0x545cb5.38
cmp dword [ebp - 0x30], 0x69
jae 0x545c4f
jmp case.0x545cb5.38
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x545d2f
cmp word [ebp - 0x1e], 0
je 0x545d02
movzx eax, word [ebp - 0x1e]
jmp 0x545d07
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.005452fd
jmp 0x549312
movzx eax, word [ebp - 0xae]
movzx eax, ax
cmp dword [ebp - 0x30], eax
je 0x549257
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.00544fec
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x54925a
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x545df7
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x545dd5
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov ecx, eax
jmp 0x545de6
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 0x54925a
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x545e3b
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x545e21
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x545e32
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 0x54925a
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x545e80
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x545e65
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x545e76
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 0x54925a
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x545ec4
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x545eaa
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x545ebb
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 0x54925a
mov ebx, dword [ebp - 0xa4]
cmp dword [ebp - 0x34], 0
je 0x545ee4
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x545ef5
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 0x54925a
cmp dword [ebp - 0x38], 0xffffffff
jne 0x545f0b
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x546088
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x546025
cmp dword [ebp - 0x34], 0
je 0x545f48
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x18], eax
jmp 0x545f5c
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 0x545f8e
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.005452fd
jmp 0x549312
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 0x545ff5
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x545fc8
movzx eax, word [ebp - 0x1e]
jmp 0x545fcd
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00545393
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 0x546088
cmp dword [ebp - 0x34], 0
je 0x546042
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x14], eax
jmp 0x546056
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 0x546088
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.005452fd
jmp 0x549312
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x5460eb
cmp word [ebp - 0x1e], 0
je 0x5460be
movzx eax, word [ebp - 0x1e]
jmp 0x5460c3
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.005452fd
jmp 0x549312
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 0x5461dd
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
je 0x5461dd
call fcn.0055370c
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 0x5461dd
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 0x54616e
call fcn.0055370c
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 0x54619c
call fcn.0055370c
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x54615f
cmp dword [ebp - 0x70], 0
jne 0x5461c4
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.0054525c
mov eax, 0xffffffff
jmp 0x549312
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 0x5461f8
mov eax, dword [ebp - 0x14]
jmp 0x5461fd
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.005538f6
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x546256
cmp word [ebp - 0x1e], 0
je 0x546229
movzx eax, word [ebp - 0x1e]
jmp 0x54622e
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x546293
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x546109
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x54925d
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.00544f95
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x54925d
cmp dword [ebp - 0x38], 0xffffffff
jne 0x5462da
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x546473
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x546410
cmp dword [ebp - 0x34], 0
je 0x546317
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x18], eax
jmp 0x54632b
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 0x54635d
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.005452fd
jmp 0x549312
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 0x5463ce
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x5463a1
movzx eax, word [ebp - 0x1e]
jmp 0x5463a6
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x546473
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00545393
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 0x546473
cmp dword [ebp - 0x34], 0
je 0x54642d
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x1c], eax
jmp 0x546441
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 0x546473
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.005452fd
jmp 0x549312
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x5464d6
cmp word [ebp - 0x1e], 0
je 0x5464a9
movzx eax, word [ebp - 0x1e]
jmp 0x5464ae
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x5465e6
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x54659a
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 0x54659a
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x38]
jle 0x54651b
mov eax, dword [ebp - 0x38]
sub eax, 1
jmp 0x54651e
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
add eax, edx
mov dword [ebp - 0x2c], eax
jmp 0x546531
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 0x54655c
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x546528
cmp dword [ebp - 0x1c], 0
jne 0x546584
lea eax, [ebp - 0xac]
mov dword [esp + 4], eax
lea eax, [ebp - 0xa0]
mov dword [esp], eax
call fcn.0054525c
mov eax, 0xffffffff
jmp 0x549312
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 0x54661a
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x5464e6
jmp 0x54661a
nop
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x54661a
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x5465e7
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x549260
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.00544f95
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x549260
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x5467d3
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x546770
cmp dword [ebp - 0x34], 0
je 0x546693
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x18], eax
jmp 0x5466a7
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 0x5466d9
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.005452fd
jmp 0x549312
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 0x546740
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x546713
movzx eax, word [ebp - 0x1e]
jmp 0x546718
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00545393
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 0x5467d3
cmp dword [ebp - 0x34], 0
je 0x54678d
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x14], eax
jmp 0x5467a1
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 0x5467d3
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.005452fd
jmp 0x549312
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x546836
cmp word [ebp - 0x1e], 0
je 0x546809
movzx eax, word [ebp - 0x1e]
jmp 0x54680e
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.005452fd
jmp 0x549312
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 0x5468a2
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.00544fec
jmp 0x546a71
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x5469b8
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x5469b8
call fcn.0055370c
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 0x5469b8
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 0x546907
call fcn.0055370c
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 0x546935
call fcn.0055370c
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x5468f8
cmp dword [ebp - 0x70], 0
jne 0x54699f
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x546960
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 0x546972
movzx eax, word [ebp - 0x1e]
jmp 0x546977
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.005452fd
jmp 0x549312
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 0x5469d3
mov eax, dword [ebp - 0x14]
jmp 0x5469d8
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.005538f6
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x546a2e
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
cmp dword [ebp - 0x38], 0
jle 0x546a44
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x546a71
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x546854
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x549263
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.005538f6
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x546b90
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x546b90
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 0x546b90
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 0x546b6f
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x546b30
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 0x546b42
movzx eax, word [ebp - 0x1e]
jmp 0x546b47
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.005452fd
jmp 0x549312
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 0x546bb8
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.00544f95
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x549263
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x546d6b
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x546d08
cmp dword [ebp - 0x34], 0
je 0x546c2b
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x18], eax
jmp 0x546c3f
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 0x546c71
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.005452fd
jmp 0x549312
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 0x546cd8
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x546cab
movzx eax, word [ebp - 0x1e]
jmp 0x546cb0
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00545393
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 0x546d6b
cmp dword [ebp - 0x34], 0
je 0x546d25
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x1c], eax
jmp 0x546d39
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 0x546d6b
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.005452fd
jmp 0x549312
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x546dce
cmp word [ebp - 0x1e], 0
je 0x546da1
movzx eax, word [ebp - 0x1e]
jmp 0x546da6
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.005452fd
jmp 0x549312
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 0x546e1c
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.00544fec
jmp 0x546f69
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x546f2c
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 0x546f2c
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 0x546f2c
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x546e77
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 0x546ea2
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x546e6e
cmp dword [ebp - 0x1c], 0
jne 0x546f16
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x546ed7
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 0x546ee9
movzx eax, word [ebp - 0x1e]
jmp 0x546eee
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.005452fd
jmp 0x549312
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 0x546f3c
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x546f69
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x546dce
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x549266
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.00544f95
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x549266
mov eax, dword [ebp - 0x30]
sub eax, 0x58
cmp eax, 0x20
ja case.0x546fc5.89
mov eax, dword [eax*4 + 0x562e30]
jmp eax
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0xa
jmp case.0x546fc5.89
or dword [ebp - 0x3c], 0x10
mov dword [ebp - 0x40], 0
jmp case.0x546fc5.89
mov dword [ebp - 0x40], 8
jmp case.0x546fc5.89
mov dword [ebp - 0x40], 0x10
and dword [ebp - 0x3c], 0xfffffff1
or dword [ebp - 0x3c], 0x24
jmp case.0x546fc5.89
mov dword [ebp - 0x40], 0xa
jmp case.0x546fc5.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.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x54706f
cmp word [ebp - 0x1e], 0
je 0x547042
movzx eax, word [ebp - 0x1e]
jmp 0x547047
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.005452fd
jmp 0x549312
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
je 0x547089
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
jne 0x5470f2
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.005453d4
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 0x5470d6
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.00545078
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x5471dc
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x5471dc
cmp dword [ebp - 0x38], 0
jle 0x547117
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.005453d4
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.00545078
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
je 0x5471cf
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x5471cf
cmp dword [ebp - 0x40], 0
jne 0x5471a1
mov dword [ebp - 0x40], 0x10
cmp dword [ebp - 0x40], 0x10
jne 0x5471dc
cmp dword [ebp - 0x38], 0
jle 0x5471b1
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.00545078
mov word [ebp - 0xae], ax
jmp 0x5471dc
cmp dword [ebp - 0x40], 0
jne 0x5471dc
mov dword [ebp - 0x40], 8
cmp dword [ebp - 0x40], 0
jne 0x5472ec
mov dword [ebp - 0x40], 0xa
jmp 0x5472ec
cmp dword [ebp - 0x40], 0x10
jne 0x54721b
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 0x547276
jmp 0x547303
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 0x54724b
movzx eax, word [ebp - 0xae]
movzx eax, ax
sub eax, 0x2f
cmp dword [ebp - 0x40], eax
jge 0x547276
cmp dword [ebp - 0x40], 0xa
jne 0x547303
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x547303
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
jne 0x547303
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x5472c6
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.005453d4
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 0x5472d0
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.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x547303
cmp dword [ebp - 0x38], 0
jne 0x5471f2
cmp dword [ebp - 0x28], 0
je 0x547335
cmp dword [ebp - 0x28], 1
jne 0x547409
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2b
je 0x547335
mov eax, dword [ebp - 0xac]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x547409
cmp dword [ebp - 0x28], 0
jne 0x5473b2
mov eax, dword [ebp - 0x3c]
and eax, 0x20
test eax, eax
je 0x5473b2
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.0054518c
test eax, eax
je 0x5473b2
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.005453d4
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 0x547434
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.00544fec
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.005452fd
jmp 0x549312
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.00544fec
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.005453d4
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 0x5474e2
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x5474b5
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.0054a220
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x547538
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.0054a588
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
jmp 0x547538
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x547513
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 0x547538
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 0x547574
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x549269
mov eax, dword [ebp - 0x3c]
and eax, 0x10
test eax, eax
je 0x5476e2
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x5475df
cmp dword [ebp - 0x34], 0
je 0x5475b8
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov ecx, eax
jmp 0x5475c9
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 0x547827
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x547621
cmp dword [ebp - 0x34], 0
je 0x547603
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x547614
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 0x547827
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x547666
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x54764b
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x54765c
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 0x547827
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x5476aa
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x547690
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x5476a1
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 0x547827
cmp dword [ebp - 0x34], 0
je 0x5476c4
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x5476d5
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 0x547827
mov eax, dword [ebp - 0x3c]
and eax, 8
test eax, eax
je 0x54772f
cmp dword [ebp - 0x34], 0
je 0x547708
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov ecx, eax
jmp 0x547719
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 0x547827
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x547771
cmp dword [ebp - 0x34], 0
je 0x547753
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x547764
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 0x547827
mov eax, dword [ebp - 0x3c]
and eax, 2
test eax, eax
je 0x5477b3
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x54779b
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x5477ac
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 0x547827
mov eax, dword [ebp - 0x3c]
and eax, 1
test eax, eax
je 0x5477f4
mov ebx, dword [ebp - 0xd0]
cmp dword [ebp - 0x34], 0
je 0x5477dd
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x5477ee
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 0x547827
cmp dword [ebp - 0x34], 0
je 0x54780e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x54781f
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 0x549269
cmp dword [ebp - 0x38], 0
jle 0x54783b
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.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x54789e
cmp word [ebp - 0x1e], 0
je 0x547871
movzx eax, word [ebp - 0x1e]
jmp 0x547876
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.005452fd
jmp 0x549312
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 0x5478d4
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x547939
cmp dword [ebp - 0x38], 0
je 0x547903
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x54792f
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.005452fd
jmp 0x549312
cmp dword [ebp - 0x38], 0
jle 0x547939
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 0x547a80
mov dword [ebp - 0x4c], 0x562c4c
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.005453d4
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 0x5479ef
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x5479ef
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 0x547a1b
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.005452fd
jmp 0x549312
cmp dword [ebp - 0x38], 0
jle 0x547a25
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.005453d4
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 0x5479a3
jmp 0x5481bb
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x547d95
mov dword [ebp - 0x50], 0x562c54
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.005453d4
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 0x547b36
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x547b36
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 0x547b62
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.005452fd
jmp 0x549312
cmp dword [ebp - 0x38], 0
jle 0x547b6c
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.005453d4
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 0x547aea
cmp dword [ebp - 0x38], 0
je 0x547d4a
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x547d4a
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x69
jne 0x547d4a
mov dword [ebp - 0x50], str.inity
cmp dword [ebp - 0x38], 0
jle 0x547c26
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.005453d4
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 0x547cb9
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x547cb9
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 0x547ce5
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.005452fd
jmp 0x549312
cmp dword [ebp - 0x38], 0
jle 0x547cef
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.005453d4
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 0x547c6d
jmp 0x5481bb
cmp dword [ebp - 0x38], 0
je 0x5481bb
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x5481bb
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.00544fec
jmp 0x5481bb
mov word [ebp - 0x44], 0x65
cmp dword [ebp - 0x38], 0
je 0x547ebb
movzx eax, word [ebp - 0xae]
cmp ax, 0x30
jne 0x547ebb
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.005453d4
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.00545078
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x547e1f
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
je 0x547ebb
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp ax, 0x78
jne 0x547ebb
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.005453d4
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.00545078
mov word [ebp - 0xae], ax
cmp dword [ebp - 0x38], 0
jle 0x547ebb
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 0x547f21
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.005453d4
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 0x548137
cmp byte [ebp - 0x42], 0
jne 0x547f97
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x547f97
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 0x547f97
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.005453d4
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 0x548137
cmp byte [ebp - 0x42], 0
je 0x54801b
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 0x54801b
movzx eax, word [ebp - 0xae]
cmp ax, 0x2d
je 0x547fd3
movzx eax, word [ebp - 0xae]
cmp ax, 0x2b
jne 0x54801b
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.005453d4
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 0x548137
cmp dword [ebp - 0x28], 0
je 0x54808f
cmp byte [ebp - 0x42], 0
jne 0x54808f
movzx eax, word [ebp - 0xae]
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
cmp word [ebp - 0x44], ax
jne 0x54808f
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.005453d4
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 0x548137
cmp byte [ebp - 0x41], 0
jne 0x5480eb
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x5e], ax
jne 0x5480eb
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.005453d4
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 0x548137
mov eax, dword [ebp - 0x3c]
and eax, 0x100
test eax, eax
je 0x54810a
cmp byte [ebp - 0x41], 0
jne 0x54810a
movzx eax, word [ebp - 0xae]
cmp word [ebp - 0x60], ax
je 0x548137
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.00544fec
jmp 0x548179
cmp dword [ebp - 0x38], 0
je 0x548179
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
je 0x548179
cmp dword [ebp - 0x38], 0
jle 0x547ebb
sub dword [ebp - 0x38], 1
jmp 0x547ebb
cmp dword [ebp - 0x28], 0
je 0x54818f
mov eax, dword [ebp - 0x3c]
and eax, 0x40
test eax, eax
je 0x5481bb
cmp dword [ebp - 0x28], 2
jne 0x5481bb
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.005452fd
jmp 0x549312
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.005453d4
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 0x5482a2
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0054a068
fstp xword [ebp - 0x9c]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x5483db
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x5483db
cmp byte [ebp - 0x7d], 0
je 0x54825e
fld xword [ebp - 0x9c]
fchs
fstp xword [ebp - 0xe8]
jmp 0x54826a
fld xword [ebp - 0x9c]
fstp xword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x548284
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x548295
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 0x5483db
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x54834c
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00549e28
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x5483db
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x5483db
cmp byte [ebp - 0x7d], 0
je 0x548308
fld qword [ebp - 0x90]
fchs
fstp qword [ebp - 0xe8]
jmp 0x548314
fld qword [ebp - 0x90]
fstp qword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x54832e
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x54833f
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 0x5483db
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00549eec
fstp dword [ebp - 0x84]
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x5483db
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
cmp edx, eax
je 0x5483db
cmp byte [ebp - 0x7d], 0
je 0x54839c
fld dword [ebp - 0x84]
fchs
fstp dword [ebp - 0xe8]
jmp 0x5483a8
fld dword [ebp - 0x84]
fstp dword [ebp - 0xe8]
cmp dword [ebp - 0x34], 0
je 0x5483c2
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
jmp 0x5483d3
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 0x548417
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x54926c
add word [ebp - 0x1e], 1
jmp 0x54926c
mov eax, dword [ebp - 0x3c]
and eax, 4
test eax, eax
je 0x5485c3
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x548740
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x54855c
cmp dword [ebp - 0x34], 0
je 0x54847c
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x18], eax
jmp 0x548490
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 0x5484c2
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.005452fd
jmp 0x549312
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 0x548529
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x5484fc
movzx eax, word [ebp - 0x1e]
jmp 0x548501
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00545393
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 0x548740
cmp dword [ebp - 0x34], 0
je 0x548579
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x1c], eax
jmp 0x54858d
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 0x548740
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x548740
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x5486dd
cmp dword [ebp - 0x34], 0
je 0x548600
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x18], eax
jmp 0x548614
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 0x548646
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.005452fd
jmp 0x549312
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 0x5486ad
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x548680
movzx eax, word [ebp - 0x1e]
jmp 0x548685
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
call fcn.00545393
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 0x548740
cmp dword [ebp - 0x34], 0
je 0x5486fa
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00544f5c
mov dword [ebp - 0x14], eax
jmp 0x54870e
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 0x548740
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.005452fd
jmp 0x549312
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 0x548764
add dword [ebp - 0xc], 2
cmp dword [ebp - 0x38], 0
jns 0x548771
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 0x54878a
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 0x5487a9
cmp dword [ebp - 0x30], 0x5d
jne 0x54878b
cmp dword [ebp - 0x30], 0
jne 0x5487db
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.005452fd
jmp 0x549312
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 0x548c25
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.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x54885e
cmp word [ebp - 0x1e], 0
je 0x548831
movzx eax, word [ebp - 0x1e]
jmp 0x548836
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.005452fd
jmp 0x549312
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x48], eax
jmp 0x5489ff
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x548995
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x548995
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x548995
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x548995
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 0x548995
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x5488f4
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 0x54891c
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x5488e3
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x54893c
cmp word [ebp - 0x44], 0
je 0x548a0d
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x54898f
cmp word [ebp - 0x44], 0
je 0x54898f
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.00544fec
mov dword [ebp - 0x54], 1
jmp 0x548a11
add dword [ebp - 0x48], 4
jmp 0x5489ff
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x5489ae
cmp word [ebp - 0x44], 0
je 0x548a10
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x5489fb
cmp word [ebp - 0x44], 0
je 0x5489fb
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.00544fec
mov dword [ebp - 0x54], 1
jmp 0x548a11
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x548873
jmp 0x548a11
nop
jmp 0x548a11
nop
cmp dword [ebp - 0x54], 0
jne 0x548ba3
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x548a5a
cmp word [ebp - 0x44], 0
jne 0x548a5a
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.00544fec
jmp 0x548ba4
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x548b6a
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 0x548b6a
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 0x548b6a
mov eax, dword [ebp - 0x10]
add eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x548ab5
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 0x548ae0
mov eax, dword [ebp - 0x10]
add eax, 1
cmp eax, dword [ebp - 0x2c]
jb 0x548aac
cmp dword [ebp - 0x1c], 0
jne 0x548b54
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x548b15
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 0x548b27
movzx eax, word [ebp - 0x1e]
jmp 0x548b2c
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.005452fd
jmp 0x549312
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 0x548ba4
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x54885e
jmp 0x548ba4
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x548bdb
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x54926f
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.00544f95
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x54926f
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.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x548c91
cmp word [ebp - 0x1e], 0
je 0x548c64
movzx eax, word [ebp - 0x1e]
jmp 0x548c69
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.005452fd
jmp 0x549312
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 0x548e50
mov eax, dword [ebp - 0x48]
movzx eax, word [eax]
cmp ax, 0x2d
jne 0x548de6
mov eax, dword [ebp - 0x48]
add eax, 2
movzx eax, word [eax]
test ax, ax
je 0x548de6
mov eax, dword [ebp - 0x48]
add eax, 2
cmp dword [ebp - 0x78], eax
je 0x548de6
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x48], eax
je 0x548de6
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 0x548de6
mov eax, dword [ebp - 0x48]
sub eax, 2
movzx eax, word [eax]
add eax, 1
mov word [ebp - 0xbc], ax
jmp 0x548d45
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 0x548d6d
movzx edx, word [ebp - 0xbc]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x548d34
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x548d8d
cmp word [ebp - 0x44], 0
je 0x548e5e
mov eax, dword [ebp - 0x48]
add eax, 2
movzx edx, word [eax]
movzx eax, word [ebp - 0xbc]
cmp dx, ax
jb 0x548de0
cmp word [ebp - 0x44], 0
je 0x548de0
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.00544fec
mov dword [ebp - 0x58], 1
jmp 0x548e62
add dword [ebp - 0x48], 4
jmp 0x548e50
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x548dff
cmp word [ebp - 0x44], 0
je 0x548e61
mov eax, dword [ebp - 0x48]
movzx edx, word [eax]
movzx eax, word [ebp - 0xae]
cmp dx, ax
jne 0x548e4c
cmp word [ebp - 0x44], 0
je 0x548e4c
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.00544fec
mov dword [ebp - 0x58], 1
jmp 0x548e62
add dword [ebp - 0x48], 2
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jb 0x548cc4
jmp 0x548e62
nop
jmp 0x548e62
nop
cmp dword [ebp - 0x58], 0
jne 0x549076
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78]
jne 0x548eab
cmp word [ebp - 0x44], 0
jne 0x548eab
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.00544fec
jmp 0x549077
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x548fc1
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x548fc1
call fcn.0055370c
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 0x548fc1
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 0x548f10
call fcn.0055370c
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 0x548f3e
call fcn.0055370c
mov edx, eax
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp eax, dword [ebp - 0x2c]
jb 0x548f01
cmp dword [ebp - 0x70], 0
jne 0x548fa8
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x548f69
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 0x548f7b
movzx eax, word [ebp - 0x1e]
jmp 0x548f80
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.005452fd
jmp 0x549312
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 0x548fdc
mov eax, dword [ebp - 0x14]
jmp 0x548fe1
mov eax, 0
lea ecx, [ebp - 0xc8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.005538f6
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0xffffffff
jne 0x549037
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x14], eax
sub dword [ebp - 0x38], 1
cmp dword [ebp - 0x38], 0
jle 0x549077
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
mov word [ebp - 0xae], ax
movzx eax, word [ebp - 0xae]
cmp ax, 0xffff
jne 0x548caf
jmp 0x549077
nop
mov eax, dword [ebp - 0xa4]
cmp dword [ebp - 0x7c], eax
jne 0x5490ae
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.005452fd
jmp 0x549312
mov eax, dword [ebp - 0x3c]
and eax, 0x80
test eax, eax
jne 0x54926f
lea eax, [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
lea eax, [ebp - 0xb9]
mov dword [esp], eax
call fcn.005538f6
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
je 0x5491cd
mov eax, dword [ebp - 0x3c]
and eax, 0x600
test eax, eax
je 0x5491cd
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 0x5491cd
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 0x5491ac
mov eax, dword [ebp - 0x3c]
and eax, 0x400
test eax, eax
jne 0x54916d
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 0x54917f
movzx eax, word [ebp - 0x1e]
jmp 0x549184
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.005452fd
jmp 0x549312
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 0x5491f5
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.00544f95
mov dword [ebp - 0x18], 0
add word [ebp - 0x1e], 1
jmp 0x54926f
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.005452fd
jmp 0x549312
nop
jmp 0x549270
nop
jmp 0x549270
nop
jmp 0x549270
nop
jmp 0x549270
nop
jmp 0x549270
nop
jmp 0x549270
nop
jmp 0x549270
nop
jmp 0x549270
nop
jmp 0x549270
nop
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
test ax, ax
jne 0x5455c4
cmp dword [ebp - 0x24], 0
je 0x5492eb
nop
lea eax, [ebp - 0xa4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00545078
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 0x549286
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.00544fec
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.005452fd
mov ebx, dword [ebp - 4]
leave
ret