Function at 0x4469d0
Capabilities:
Read file on windows
Resolve path using msvcrt

Disassembly:
sub esp, 0x850
mov ecx, dword [esp + 0x858]
push ebx
mov ebx, dword [esp + 0x858]
mov byte [esp + 0x23], 0
test ecx, ecx
mov eax, dword [ebx + 0x1d4]
mov ecx, dword [0x481110]
mov dword [esp + 0x48], eax
mov eax, dword [0x481118]
setne byte [esp + 0xb]
test eax, eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0xc], ecx
jbe 0x447273
push ebp
push esi
push edi
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x86c]
mov edx, dword [esi]
push edx
push eax
call fcn.0040cc90
mov ecx, dword [esi]
xor edi, edi
push ecx
mov ebp, eax
mov dword [esp + 0x14], edi
call fcn.00451750
mov esi, 0x40472c
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x446a71
test cl, cl
je 0x446a6d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x446a71
add eax, 2
add esi, 2
test cl, cl
jne 0x446a4d
xor eax, eax
jmp 0x446a76
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x446a7f
call fcn.00446860
mov eax, dword [ebp]
mov esi, dword [sym.imp.MSVCRT.dll__stricmp]
push 0x408110
push eax
call esi
add esp, 8
test eax, eax
jne 0x446b10
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
lea edx, [esp + 0x1c]
mov esi, 1
push edx
push 0
push ebp
mov dword [esp + 0x1c], esi
call fcn.0040ce20
test al, al
je 0x449a6a
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x446af0
lea ecx, [eax - 1]
test eax, ecx
jne 0x446af0
mov ecx, dword [ebx + 0x194]
or ecx, esi
mov dword [ebx + 0x194], ecx
mov dword [ebx + 0x64], eax
jmp 0x449aa8
push eax
push 0x408108
mov edx, dword [esp + 0x874]
push 0xfcb
push edx
call fcn.004314f0
add esp, 0x10
jmp 0x449aa8
mov eax, dword [ebp]
push 0x406d2c
push eax
call esi
add esp, 8
test eax, eax
jne 0x446e72
mov ax, word [ebp + 4]
test ax, ax
jbe 0x4499e0
mov esi, dword [ebp + 0xc]
mov cl, byte [esi]
test cl, cl
je 0x4499e0
mov dl, byte [ebx + 0x125]
test dl, dl
je 0x446b56
mov dl, byte [esp + 0x17]
test dl, dl
jne 0x4471ff
cmp cl, 0x40
jne 0x446dcf
cmp ax, 1
jbe 0x4499e0
mov ecx, dword [ebp + 0x14]
cmp byte [ecx], 0
je 0x4499e0
inc esi
push 0x408100
push esi
call fcn.0045e640
mov ebx, eax
mov eax, dword [0x480f08]
test eax, eax
je 0x446c25
push 0
push ebx
call fcn.00446530
lea edx, [esp + 0x58]
lea eax, [esp + 0x158]
push edx
push eax
push 0
push 0
push ebx
call dword [sym.imp.MSVCRT.dll__splitpath]
mov ecx, dword [esp + 0x34]
push ecx
call dword [sym.imp.MSVCRT.dll_free]
mov edi, dword [ebp + 0x14]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, 0x4080ec
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x158]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x58]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
push edx
call fcn.004516d0
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x15c]
push edx
push ecx
push 0x4080ec
push eax
mov dword [esp + 0x34], eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
push 0x20
push 0x402898
push ebx
call dword [sym.imp.MSVCRT.dll__fsopen]
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
jne 0x446c54
mov edx, dword [esp + 0x86c]
push ebx
push 0x450
push edx
call fcn.00431420
add esp, 0xc
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x358]
push eax
push 0x104
push ecx
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
je 0x446d80
lea edi, [esp + 0x358]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x358]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0x3b
push edx
mov byte [esp + ecx + 0x35f], al
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
test eax, eax
je 0x446cb1
mov byte [eax], 0
mov eax, dword [0x4690b8]
lea ecx, [esp + 0x358]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_strtok]
mov esi, eax
add esp, 8
test esi, esi
je 0x446c5c
mov edi, dword [sym.imp.MSVCRT.dll_sscanf]
mov edx, dword [ebp + 0x14]
push edx
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x446d29
mov eax, dword [0x4690b8]
push eax
push 0
call dword [sym.imp.MSVCRT.dll_strtok]
mov esi, eax
add esp, 8
test esi, esi
je 0x446d16
lea ecx, [esp + 0x1c]
push ecx
push 0x4026a8
push esi
call edi
add esp, 0xc
cmp eax, 1
mov dword [esp + 0x28], eax
je 0x446d36
push esi
push 0x457
push ebx
call fcn.00431420
add esp, 0xc
test esi, esi
jne 0x446cd4
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x446d80
jmp 0x446c5c
mov eax, dword [esp + 0x864]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x60], edx
mov ecx, dword [0x4690b8]
push ecx
push 0
call dword [sym.imp.MSVCRT.dll_strtok]
mov esi, eax
add esp, 8
test esi, esi
je 0x446d71
push 0x48101c
push 0x4026a8
push esi
call edi
add esp, 0xc
cmp eax, 1
je 0x446d80
push esi
push 0x457
push ebx
call fcn.00431420
add esp, 0xc
mov edx, dword [esp + 0x34]
push edx
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esp + 0x2c]
add esp, 4
test eax, eax
jne 0x446da8
mov eax, dword [ebp + 0x14]
push eax
push 0x1066
push ebx
call fcn.004314f0
add esp, 0xc
push ebx
call dword [sym.imp.MSVCRT.dll_free]
mov ecx, dword [esp + 0x868]
add esp, 4
mov dword [esp + 0x10], 2
mov ebx, ecx
mov byte [ecx + 0x125], 1
jmp 0x449aa8
and eax, 0xffff
dec eax
je 0x446e4a
dec eax
je 0x446e05
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x86c]
mov eax, dword [edx]
add eax, 5
push eax
push 0x457
push ecx
call fcn.00431420
add esp, 0xc
mov byte [ebx + 0x125], 1
jmp 0x449aa8
lea edx, [ebx + 0x60]
push edx
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
push 0x48101c
push 1
push ebp
mov dword [esp + 0x1c], 1
call fcn.0040ce20
test al, al
je 0x449a6a
mov dword [esp + 0x10], 2
mov byte [ebx + 0x125], 1
jmp 0x449aa8
lea eax, [ebx + 0x60]
push eax
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov dword [esp + 0x10], 1
mov byte [ebx + 0x125], 1
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x4080e4
push ecx
call esi
add esp, 8
test eax, eax
jne 0x446e90
mov byte [0x480f6c], 1
jmp 0x449aa8
mov edx, dword [ebp]
push 0x4080dc
push edx
call esi
add esp, 8
test eax, eax
jne 0x446edf
cmp word [ebp + 4], ax
je 0x4499e0
mov eax, dword [esp + 0x18]
or ecx, 0xffffffff
mov edx, dword [eax]
xor eax, eax
add edx, 8
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push 0x480f40
call fcn.00450d90
mov eax, dword [esp + 0x864]
or dword [eax + 0x194], 2
jmp 0x4471ff
mov ecx, dword [ebp]
push 0x4080d0
push ecx
call esi
add esp, 8
test eax, eax
jne 0x446efd
mov byte [ebx + 0x12d], 1
jmp 0x449aa8
mov edx, dword [ebp]
push 0x4042c4
push edx
call esi
add esp, 8
test eax, eax
jne 0x447005
mov dword [ebx + 0x154], 3
cmp word [ebp + 4], ax
jbe 0x4471ff
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x4080c8
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x446f5d
mov byte [0x480f95], 1
jmp 0x446ff1
push 0x4080bc
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x446f77
mov byte [0x480f95], al
jmp 0x446ff1
push 0x4080b4
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x446f96
mov dword [ebx + 0x154], 3
jmp 0x446ff1
push 0x4080ac
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x446fb5
mov dword [ebx + 0x154], 2
jmp 0x446ff1
push 0x4080a4
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x446fd4
mov dword [ebx + 0x154], 1
jmp 0x446ff1
push 0x404654
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
mov dword [ebx + 0x154], eax
inc edi
cmp di, word [ebp + 4]
jb 0x446f27
mov dword [esp + 0x10], edi
jmp 0x447206
mov eax, dword [ebp]
push 0x407450
push eax
call esi
add esp, 8
test eax, eax
jne 0x44713a
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x407448
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x44706c
mov eax, dword [0x496474]
or al, 1
mov dword [0x496474], eax
jmp 0x447126
push 0x407444
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447090
mov eax, dword [0x496474]
or al, 2
mov dword [0x496474], eax
jmp 0x447126
push 0x40743c
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4470b1
mov eax, dword [0x496474]
or al, 3
mov dword [0x496474], eax
jmp 0x447126
push 0x404380
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4470d2
mov eax, dword [0x496474]
or al, 4
mov dword [0x496474], eax
jmp 0x447126
push 0x4046d8
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4470f3
mov eax, dword [0x496474]
or al, 8
mov dword [0x496474], eax
jmp 0x447126
push 0x40469c
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
mov byte [ebx + 0x137], 1
mov byte [ebx + 0x138], 1
mov eax, dword [ebx + 0x194]
or al, 0x20
mov dword [ebx + 0x194], eax
inc edi
cmp di, word [ebp + 4]
jb 0x447031
mov dword [esp + 0x10], edi
jmp 0x447206
mov edx, dword [ebp]
push 0x407438
push edx
call esi
add esp, 8
test eax, eax
jne 0x44727d
cmp word [ebp + 4], ax
je 0x4499e0
mov eax, dword [esp + 0x18]
mov ecx, dword [0x480f08]
mov eax, dword [eax]
add eax, 4
test ecx, ecx
mov dword [0x4690bc], eax
je 0x447206
push 0
push eax
call fcn.00446530
mov eax, dword [0x4690bc]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x158]
push ecx
push edx
push 0
push 0
push eax
call dword [sym.imp.MSVCRT.dll__splitpath]
mov ecx, dword [esp + 0x34]
push ecx
call dword [sym.imp.MSVCRT.dll_free]
mov edi, 0x407428
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x158]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x58]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
push edx
call fcn.004516d0
lea ecx, [esp + 0x58]
lea edx, [esp + 0x158]
push ecx
push edx
mov dword [esp + 0x28], eax
push 0x407428
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov ebx, dword [esp + 0x864]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 0x14]
mov al, byte [esp + 0x17]
mov dword [esp + 0x18], ecx
test al, al
jne 0x447244
mov eax, dword [0x480f08]
test eax, eax
je 0x447244
mov edx, dword [esp + 0x20]
mov eax, dword [0x480f04]
push edx
push 0x407304
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0xc
mov ecx, dword [esp + 0x20]
push ecx
call dword [sym.imp.MSVCRT.dll_free]
mov edx, dword [esp + 0x4c]
mov eax, dword [0x481118]
add esp, 4
cmp edx, eax
jb 0x446a1d
mov al, byte [esp + 0x2f]
pop edi
pop esi
pop ebp
test al, al
je 0x447273
call fcn.00430fb0
pop ebx
add esp, 0x850
ret 0xc
mov eax, dword [ebp]
push 0x408098
push eax
call esi
add esp, 8
test eax, eax
jne 0x4472c2
cmp word [ebp + 4], ax
je 0x4499e0
mov al, byte [ebx + 0x13f]
test al, al
jne 0x4471ff
mov edx, dword [esp + 0x18]
lea ecx, [ebx + 0x1c0]
push ecx
mov eax, dword [edx]
add eax, 0xb
push eax
call fcn.004170d0
jmp 0x447206
mov ecx, dword [ebp]
push 0x408090
push ecx
call esi
add esp, 8
test eax, eax
jne 0x44734a
cmp word [ebp + 4], ax
jbe 0x4499e0
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x4499e0
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x408088
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x44731c
mov byte [ebx + 0x12e], al
jmp 0x44733a
push 0x408080
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
mov byte [ebx + 0x12f], 1
inc edi
cmp di, word [ebp + 4]
jb 0x4472ea
mov dword [esp + 0x10], edi
jmp 0x449aa8
mov eax, dword [ebp]
push 0x408074
push eax
call esi
add esp, 8
test eax, eax
jne 0x4473b7
cmp word [ebp + 4], ax
je 0x4499e0
mov ecx, dword [esp + 0x18]
push 0x404728
mov esi, dword [ecx]
add esi, 0xa
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x44738e
mov byte [0x496468], 1
jmp 0x447206
push esi
call fcn.004200a0
test al, al
push esi
je 0x4473ad
push 0x1062
push 0
call fcn.004314f0
add esp, 0xc
jmp 0x447206
call fcn.0041fe50
jmp 0x447206
mov edx, dword [ebp]
push 0x408068
push edx
call esi
add esp, 8
test eax, eax
jne 0x447420
cmp word [ebp + 4], ax
je 0x4499e0
mov al, byte [ebx + 0x13f]
test al, al
jne 0x4471ff
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x868]
mov eax, dword [eax]
add eax, 0xc
test ecx, ecx
je 0x44740b
mov ecx, dword [ecx + 0x18]
push ecx
lea ecx, [ebx + 0x1c0]
push ecx
push eax
call fcn.00417160
jmp 0x447206
xor ecx, ecx
push ecx
lea ecx, [ebx + 0x1c0]
push ecx
push eax
call fcn.00417160
jmp 0x447206
mov edx, dword [ebp]
push 0x408064
push edx
call esi
add esp, 8
test eax, eax
jne 0x447484
or byte [ebx + 0x43], 0x20
cmp word [ebp + 4], ax
jbe 0x4471ff
mov esi, dword [sym.imp.MSVCRT.dll__stricmp]
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov eax, dword [ebp + eax*8 + 0xc]
push 0x40805c
push eax
call esi
add esp, 8
test eax, eax
jne 0x449a44
or byte [ebx + 0x43], 0x10
inc edi
cmp di, word [ebp + 4]
jb 0x447446
mov dword [esp + 0x10], edi
jmp 0x447206
mov eax, dword [ebp]
push 0x408054
push eax
call esi
add esp, 8
test eax, eax
jne 0x4474ef
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov eax, dword [ebp + eax*8 + 0xc]
push 0x408048
push eax
call esi
add esp, 8
test eax, eax
jne 0x449a44
inc edi
mov word [ebx + 0x8a], 0x1000
cmp di, word [ebp + 4]
jb 0x4474ac
mov dword [esp + 0x10], edi
jmp 0x447206
mov edx, dword [ebp]
push 0x408040
push edx
call esi
add esp, 8
test eax, eax
jne 0x447570
mov byte [ebx + 0x130], 1
cmp word [ebp + 4], ax
jbe 0x4471ff
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x408038
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447542
or byte [ebx + 0x43], 0x40
jmp 0x447560
push 0x408034
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
or byte [ebx + 0x8b], 0x20
inc edi
cmp di, word [ebp + 4]
jb 0x447512
mov dword [esp + 0x10], edi
jmp 0x447206
mov eax, dword [ebp]
push 0x408024
push eax
call esi
add esp, 8
test eax, eax
jne 0x44763a
mov al, byte [esp + 0x17]
test al, al
je 0x4471ff
mov al, byte [0x481160]
test al, al
je 0x4475b5
mov al, byte [0x4690c4]
test al, al
je 0x4475b5
mov eax, dword [ebx + 0x154]
test eax, eax
je 0x4475b5
mov byte [ebx + 0x131], 1
mov al, byte [0x49647c]
test al, al
jne 0x4471ff
mov eax, dword [ebx + 0x194]
test eax, 0x800000
je 0x4475d9
mov cl, byte [ebx + 0x149]
test cl, cl
jne 0x4475ea
test eax, 0x400000
je 0x447603
mov al, byte [ebx + 0x134]
test al, al
je 0x447603
push 0x408020
push 0x408010
push 0xfeb
push 0
call fcn.004314f0
add esp, 0x10
mov al, byte [0x49647a]
test al, al
je 0x44762e
mov al, byte [0x496479]
test al, al
jne 0x44762e
push 0x408000
push 0x408010
push 0xfeb
push 0
call fcn.004314f0
add esp, 0x10
mov byte [0x49647c], 1
jmp 0x447206
mov ecx, dword [ebp]
push 0x407ff4
push ecx
call esi
add esp, 8
test eax, eax
jne 0x44769f
cmp word [ebp + 4], ax
jbe 0x4499e0
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x4499e0
lea eax, [esp + 0x1c]
mov dword [esp + 0x10], 1
push eax
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov ecx, dword [esp + 0x1c]
mov dword [0x481130], ecx
mov eax, dword [ebx + 0x194]
or eax, 0x4000000
mov dword [ebx + 0x194], eax
jmp 0x447206
mov edx, dword [ebp]
push 0x407fec
push edx
call esi
add esp, 8
test eax, eax
jne 0x4476e8
cmp word [ebp + 4], ax
je 0x4499e0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
add ecx, 6
push ecx
call fcn.00451750
mov dword [0x49644c], eax
mov dword [ebx + 0x19c], eax
mov eax, dword [ebx + 0x194]
or al, 4
mov dword [ebx + 0x194], eax
jmp 0x447206
mov edx, dword [ebp]
push 0x407fe4
push edx
call esi
add esp, 8
test eax, eax
jne 0x44776a
cmp word [ebp + 4], ax
jbe 0x4499e0
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x4499e0
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x407fdc
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447743
mov byte [ebx + 0x1f0], 1
jmp 0x44775a
push 0x402848
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
inc edi
cmp di, word [ebp + 4]
jb 0x447710
mov dword [esp + 0x10], edi
jmp 0x447206
mov ecx, dword [ebp]
push 0x407420
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4477f8
cmp word [ebp + 4], ax
je 0x4499e0
mov eax, dword [0x480f98]
cmp eax, 2
jne 0x4477b7
mov edx, dword [esp + 0x86c]
mov eax, dword [0x481044]
push edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
push 1
mov eax, dword [edx]
push ecx
add eax, 7
push eax
call fcn.00431c60
jmp 0x447206
cmp eax, 1
jne 0x4471ff
mov al, byte [esp + 0x17]
test al, al
je 0x4477dd
cmp dword [ebx + 0x1e8], 1
je 0x4477dd
mov byte [0x496478], 1
jmp 0x447206
mov ecx, dword [esp + 0x18]
push 0
mov edx, dword [ecx]
add edx, 7
push edx
push 0x481100
call fcn.0045ede0
jmp 0x447206
mov eax, dword [ebp]
push 0x407fd0
push eax
call esi
add esp, 8
test eax, eax
jne 0x447870
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
lea edx, [esp + 0x1c]
mov dword [esp + 0x10], 1
push edx
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x447865
lea ecx, [eax - 1]
test eax, ecx
jne 0x447865
mov dword [ebx + 0x68], eax
mov eax, dword [ebx + 0x194]
or eax, 0x2000000
mov dword [ebx + 0x194], eax
jmp 0x449aa8
push eax
push 0x407fc4
jmp 0x446af6
mov eax, dword [ebp]
push 0x407fbc
push eax
call esi
add esp, 8
test eax, eax
jne 0x4478d9
mov byte [ebx + 0x132], 1
cmp word [ebp + 4], ax
jbe 0x4478ca
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov eax, dword [ebp + eax*8 + 0xc]
push 0x406cb8
push eax
call esi
add esp, 8
test eax, eax
jne 0x449a44
inc edi
mov byte [ebx + 0x132], al
cmp di, word [ebp + 4]
jb 0x44788f
mov dword [esp + 0x10], edi
or dword [ebx + 0x194], 0x80000
jmp 0x447206
mov ecx, dword [ebp]
push 0x407fb4
push ecx
call esi
add esp, 8
test eax, eax
jne 0x447976
cmp word [ebp + 4], ax
jbe 0x447959
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x407fa8
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447929
mov eax, dword [ebx + 0x15c]
or al, 2
jmp 0x447948
push 0x407f9c
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
mov eax, dword [ebx + 0x15c]
or al, 1
inc edi
mov dword [ebx + 0x15c], eax
cmp di, word [ebp + 4]
jb 0x4478f5
mov dword [esp + 0x10], edi
mov eax, dword [ebx + 0x15c]
test eax, eax
jne 0x4471ff
mov dword [ebx + 0x15c], 3
jmp 0x447206
mov edx, dword [ebp]
push 0x407f90
push edx
call esi
add esp, 8
test eax, eax
jne 0x447993
mov byte [ebx + 0x142], al
jmp 0x449aa8
mov eax, dword [ebp]
push 0x407f88
push eax
call esi
add esp, 8
test eax, eax
jne 0x4479ff
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
lea edx, [esp + 0x1c]
mov dword [esp + 0x10], 1
push edx
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x150]
cmp eax, ecx
jbe 0x4479ec
mov dword [ebx + 0x150], eax
mov eax, dword [ebx + 0x194]
or al, 8
mov dword [ebx + 0x194], eax
jmp 0x449aa8
mov eax, dword [ebp]
push 0x407f80
push eax
call esi
add esp, 8
test eax, eax
jne 0x447a53
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
lea edx, [esp + 0x1c]
mov dword [esp + 0x10], 1
push edx
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x128], eax
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x406cd0
push ecx
call esi
add esp, 8
test eax, eax
jne 0x447b2b
cmp word [ebp + 4], ax
jbe 0x4499e0
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x4499e0
mov al, byte [ebx + 0x126]
test al, al
je 0x447a9e
mov al, byte [esp + 0x17]
test al, al
je 0x447a9e
mov dword [esp + 0x10], 2
jmp 0x449aa8
lea esi, [ebx + 0x94]
push esi
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov edi, 2
mov dword [esp + 0x10], 1
cmp word [ebp + 4], di
jb 0x447ae9
mov eax, dword [ebp + 0x14]
mov cl, byte [eax + 1]
test cl, cl
je 0x447ae9
lea ecx, [ebx + 0x98]
push ecx
push 1
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov byte [ebx + 0x126], 1
mov eax, dword [ebx + 0x98]
test al, 3
mov dword [esp + 0x10], edi
je 0x447b03
and al, 0xfc
add eax, 4
mov dword [ebx + 0x98], eax
mov eax, dword [esi]
test al, 3
je 0x447b14
and al, 0xfc
add eax, 4
mov dword [esi], eax
mov ecx, dword [ebx + 0x98]
cmp eax, ecx
jae 0x449aa8
mov dword [esi], ecx
jmp 0x449aa8
mov edx, dword [ebp]
push 0x407410
push edx
call esi
add esp, 8
test eax, eax
jne 0x447beb
cmp word [ebp + 4], ax
jbe 0x4499e0
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x4499e0
mov edi, dword [esp + 0x10]
mov esi, edi
and esi, 0xffff
mov eax, dword [ebp + esi*8 + 8]
test eax, eax
jne 0x449a4e
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push ecx
push edi
push ebp
call fcn.0040ce20
test al, al
je 0x447b8f
mov edx, dword [esp + 0x1c]
push edx
call fcn.004311f0
jmp 0x447bd7
mov edi, dword [ebp + esi*8 + 0xc]
push 0x2d
push edi
call dword [sym.imp.MSVCRT.dll_strchr]
mov esi, eax
add esp, 8
test esi, esi
je 0x449a4e
mov ebx, dword [sym.imp.MSVCRT.dll_atoi]
push edi
mov byte [esi], 0
call ebx
inc esi
mov edi, eax
push esi
call ebx
mov esi, eax
add esp, 8
cmp edi, esi
jg 0x449a4e
push edi
call fcn.004311f0
inc edi
cmp edi, esi
jle 0x447bc8
mov edi, dword [esp + 0x10]
inc edi
cmp di, word [ebp + 4]
mov dword [esp + 0x10], edi
jb 0x447b5b
jmp 0x4471ff
mov eax, dword [ebp]
push 0x407f78
push eax
call esi
add esp, 8
test eax, eax
jne 0x447d54
cmp word [ebp + 4], ax
je 0x4499e0
mov ecx, dword [esp + 0x18]
mov eax, dword [0x480f08]
mov edx, dword [ecx]
add edx, 7
test eax, eax
mov dword [0x480f10], edx
je 0x447206
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.MSVCRT.dll_free]
mov eax, dword [0x480f10]
lea ecx, [esp + 0x660]
lea edx, [esp + 0x560]
push ecx
push edx
push 0
push 0
push eax
call dword [sym.imp.MSVCRT.dll__splitpath]
lea edi, [esp + 0x574]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x65c]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 0xc]
push eax
call fcn.004516d0
mov edx, eax
or ecx, 0xffffffff
mov edi, 0x407f70
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x20], edx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x407f6c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x55c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x65c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x4017e4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4471ff
mov ecx, dword [ebp]
push 0x407408
push ecx
call esi
add esp, 8
test eax, eax
jne 0x448148
cmp word [ebp + 4], ax
jbe 0x4499e0
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x4499e0
xor ebx, ebx
mov byte [esp + 0x26], 0
mov byte [esp + 0x27], 0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x10]
and eax, 0xffff
mov esi, dword [ebp + eax*8 + 8]
mov edi, dword [ebp + eax*8 + 0xc]
test esi, esi
je 0x447f51
push 0x407f64
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447e12
mov esi, 0x407f60
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x447e01
test cl, cl
je 0x447df3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x447e01
add eax, 2
add esi, 2
test cl, cl
jne 0x447dd3
xor eax, eax
test eax, eax
sete byte [esp + 0x27]
jmp 0x447f5f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete byte [esp + 0x27]
jmp 0x447f5f
push 0x407310
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447e3a
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x449a4e
mov dword [esp + 0x38], edi
jmp 0x447f5f
push 0x407f58
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447e93
mov esi, 0x407f60
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x447e82
test cl, cl
je 0x447e74
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x447e82
add eax, 2
add esi, 2
test cl, cl
jne 0x447e54
xor eax, eax
test eax, eax
sete byte [esp + 0x26]
jmp 0x447f5f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete byte [esp + 0x26]
jmp 0x447f5f
push 0x4073fc
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447ed3
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x449a4e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
push ecx
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov dword [esp + 0x28], edi
jmp 0x447f5f
push 0x4073f0
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447f10
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x449a4e
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
push eax
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov dword [esp + 0x34], edi
jmp 0x447f5f
push 0x4073e4
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a4e
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x449a4e
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push ecx
push edx
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov dword [esp + 0x40], edi
jmp 0x447f5f
test ebx, ebx
jne 0x449a4e
mov ebx, edi
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x10]
inc eax
cmp ax, word [ebp + 4]
mov dword [esp + 0x10], eax
jb 0x447da0
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x447f8a
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x447f8a
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x447fa1
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
push ecx
push edx
push eax
push esi
call fcn.004575c0
jmp 0x447fa5
mov esi, dword [esp + 0x38]
mov al, byte [esp + 0x26]
test al, al
je 0x447fc0
test ebx, ebx
je 0x448045
push ebx
push 0x481090
call fcn.0045ee80
test ebx, ebx
je 0x4480de
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x447fdc
mov al, byte [esp + 0x27]
test al, al
je 0x4480de
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
inc ecx
push ecx
call fcn.004516d0
mov edx, eax
mov al, byte [ebx]
cmp al, 0x3f
je 0x448074
mov edi, 0x407f54
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov ebx, dword [esp + 0x4c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x448093
test esi, esi
je 0x448059
push esi
push 0x481080
call fcn.0045ee80
jmp 0x4480de
mov eax, dword [ebp]
mov ecx, dword [esp + 0x86c]
push eax
push 0x45d
push ecx
call fcn.00431420
add esp, 0xc
jmp 0x4480de
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x868]
test eax, eax
je 0x4480ce
mov ecx, dword [esp + 0x864]
push ecx
push eax
mov eax, dword [esp + 0x40]
push eax
push edx
call fcn.004572c0
test al, al
jne 0x4480de
mov ecx, dword [esp + 0x86c]
push ebx
push 0x11c0
push ecx
call fcn.004314f0
add esp, 0xc
jmp 0x4480de
mov eax, dword [esp + 0x38]
push eax
push edx
push 0x481050
call fcn.0045ede0
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4471ff
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4471ff
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4471ff
mov al, byte [esp + 0x26]
test al, al
jne 0x4471ff
test ebx, ebx
je 0x44812a
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x4471ff
mov al, byte [esp + 0x27]
test al, al
jne 0x4471ff
mov ecx, dword [ebp]
mov edx, dword [esp + 0x86c]
push ecx
push 0x45d
push edx
call fcn.00431420
add esp, 0xc
jmp 0x4471ff
mov eax, dword [ebp]
push 0x4073dc
push eax
call esi
add esp, 8
test eax, eax
jne 0x448202
cmp word [ebp + 4], ax
je 0x4499e0
mov ecx, dword [esp + 0x18]
push 0
mov eax, dword [ecx]
mov ecx, dword [esp + 0x58]
add eax, 8
push eax
call fcn.004643d0
mov esi, eax
mov al, byte [0x481160]
test al, al
je 0x448190
mov al, byte [esp + 0x17]
test al, al
jne 0x4481cb
mov eax, dword [ebx + 0x1a8]
test eax, eax
je 0x4481ab
cmp dword [eax], esi
je 0x4481a7
mov eax, dword [eax + 4]
test eax, eax
jne 0x44819a
jmp 0x4481ab
test eax, eax
jne 0x4481c3
push 8
call fcn.004516d0
mov dword [eax], esi
mov edx, dword [ebx + 0x1a8]
mov dword [eax + 4], edx
mov dword [ebx + 0x1a8], eax
mov al, byte [esp + 0x17]
test al, al
je 0x4481ef
mov edi, dword [esp + 0x868]
mov eax, dword [edi + 0x18]
push eax
push esi
call fcn.00464560
mov al, byte [0x481160]
test al, al
je 0x4481ef
mov ecx, dword [edi + 0x18]
push esi
push ecx
call fcn.00435c80
mov eax, dword [ebx + 0x194]
or al, 0x10
mov dword [ebx + 0x194], eax
jmp 0x447206
mov edx, dword [ebp]
push 0x407f48
push edx
call esi
add esp, 8
test eax, eax
jne 0x4482b0
cmp word [ebp + 4], ax
jbe 0x4499e0
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x4499e0
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x407f44
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x448261
mov byte [0x496479], 1
jmp 0x448279
push 0x406cb8
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x448290
mov byte [0x496479], al
inc edi
cmp di, word [ebp + 4]
jb 0x44822e
mov dword [esp + 0x10], edi
mov byte [0x49647a], 1
jmp 0x447206
push 0x407f40
push esi
mov dword [esp + 0x18], edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
je 0x4471ff
jmp 0x449a4e
mov ecx, dword [ebp]
push 0x406cbc
push ecx
call esi
add esp, 8
test eax, eax
jne 0x448316
or byte [ebx + 0x42], 0x20
cmp word [ebp + 4], ax
jbe 0x4471ff
mov esi, dword [sym.imp.MSVCRT.dll__stricmp]
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov eax, dword [ebp + eax*8 + 0xc]
push 0x406cb8
push eax
call esi
add esp, 8
test eax, eax
jne 0x449a44
and word [ebx + 0x42], 0xffdf
inc edi
cmp di, word [ebp + 4]
jb 0x4482d6
mov dword [esp + 0x10], edi
jmp 0x447206
mov edx, dword [ebp]
push 0x4073d4
push edx
call esi
add esp, 8
test eax, eax
je 0x4471ff
mov eax, dword [ebp]
mov esi, dword [sym.imp.MSVCRT.dll__stricmp]
push 0x4073c4
push eax
call esi
add esp, 8
test eax, eax
jne 0x448350
mov byte [ebx + 0x135], 1
jmp 0x447206
mov ecx, dword [ebp]
push 0x40739c
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4484f8
cmp word [ebp + 4], ax
jbe 0x4499e0
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x4499e0
mov ebx, dword [esp + 0x864]
mov eax, dword [esp + 0x10]
and eax, 0xffff
mov edi, dword [ebp + eax*8 + 8]
mov esi, dword [ebp + eax*8 + 0xc]
test edi, edi
je 0x448463
push 0x407f38
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4483ba
mov dword [ebx + 0x164], esi
jmp 0x4484e0
push 0x407f30
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x4483d8
mov dword [ebx + 0x160], esi
jmp 0x4484e0
push 0x407394
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x448417
push esi
push ebx
call fcn.00452b00
mov edx, dword [ebx + 0x194]
mov cl, byte [esp + 0x17]
or dh, 0x40
test cl, cl
mov dword [ebx + 0x194], edx
mov eax, edx
je 0x4484e0
or ah, 0x80
jmp 0x4484da
push 0x40738c
push edi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a4e
mov ebx, dword [esp + 0x864]
push esi
push ebx
call fcn.00452bb0
mov edx, dword [ebx + 0x194]
mov cl, byte [esp + 0x17]
or edx, 0x10000
test cl, cl
mov dword [ebx + 0x194], edx
mov eax, edx
je 0x4484e0
or eax, 0x20000
jmp 0x4484da
mov edi, dword [sym.imp.MSVCRT.dll__stricmp]
push 0x407f28
push esi
call edi
add esp, 8
test eax, eax
jne 0x448481
mov byte [ebx + 0x136], 1
jmp 0x4484e0
push 0x407f1c
push esi
call edi
add esp, 8
test eax, eax
jne 0x448498
mov byte [ebx + 0x136], al
jmp 0x4484e0
push 0x407f10
push esi
call edi
add esp, 8
test eax, eax
jne 0x4484b0
mov byte [0x48114c], 1
jmp 0x4484cf
push 0x407f04
push esi
call edi
add esp, 8
test eax, eax
jne 0x449a4e
mov ebx, dword [esp + 0x864]
mov byte [0x48114c], al
mov eax, dword [ebx + 0x194]
or eax, 0x40000
mov dword [ebx + 0x194], eax
mov eax, dword [esp + 0x10]
inc eax
cmp ax, word [ebp + 4]
mov dword [esp + 0x10], eax
jb 0x448383
jmp 0x4471ff
mov eax, dword [ebp]
push 0x407efc
push eax
call esi
add esp, 8
test eax, eax
jne 0x44852c
cmp word [ebp + 4], ax
je 0x4499e0
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
push 1
mov edx, dword [ecx]
add edx, 8
push edx
call fcn.0044fa90
jmp 0x447206
mov eax, dword [ebp]
push 0x407384
push eax
call esi
add esp, 8
test eax, eax
jne 0x4485bc
cmp word [ebp + 4], ax
jbe 0x4499e0
mov esi, dword [ebp + 0xc]
cmp byte [esi], 0
je 0x4499e0
push esi
push ebx
mov dword [esp + 0x18], 1
call fcn.00464070
test ax, ax
mov word [ebx + 0x30], ax
jne 0x44859b
mov ecx, dword [esp + 0x86c]
push 0x407348
push esi
push 0xfac
push ecx
call fcn.004314f0
mov eax, dword [ebx + 0x194]
add esp, 0x10
or ah, 0x10
mov dword [ebx + 0x194], eax
jmp 0x449aa8
cmp ax, 0x601
jne 0x4485a8
mov byte [0x496694], 1
mov eax, dword [ebx + 0x194]
or ah, 0x10
mov dword [ebx + 0x194], eax
jmp 0x449aa8
mov edx, dword [ebp]
push 0x407ef4
push edx
call esi
add esp, 8
test eax, eax
jne 0x448618
cmp word [ebp + 4], ax
je 0x4499e0
mov eax, dword [esp + 0x18]
push 0x481060
mov esi, dword [eax]
add esi, 7
push esi
call fcn.0045ee30
test al, al
jne 0x4471ff
push 0x407ee0
push esi
push 0x481060
call fcn.0045ede0
mov eax, dword [ebx + 0x194]
or ah, 0x20
mov dword [ebx + 0x194], eax
jmp 0x447206
mov ecx, dword [ebp]
push 0x40469c
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4486f1
mov byte [ebx + 0x137], 1
cmp word [ebp + 4], ax
je 0x4486de
mov edx, dword [esp + 0x18]
mov ecx, dword [0x480f08]
mov eax, dword [edx]
add eax, 4
test ecx, ecx
mov dword [0x481168], eax
je 0x4486de
lea ecx, [esp + 0x58]
lea edx, [esp + 0x158]
push ecx
push edx
push 0
push 0
push eax
call dword [sym.imp.MSVCRT.dll__splitpath]
mov eax, dword [esp + 0x34]
push eax
call dword [sym.imp.MSVCRT.dll_free]
mov edi, 0x407ed0
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x158]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x58]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
push edx
call fcn.004516d0
lea ecx, [esp + 0x58]
lea edx, [esp + 0x158]
push ecx
push edx
push 0x407ed0
push eax
mov dword [esp + 0x30], eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov ebx, dword [esp + 0x874]
add esp, 0x10
mov eax, dword [ebx + 0x194]
or al, 0x20
mov dword [ebx + 0x194], eax
jmp 0x447206
mov eax, dword [ebp]
push 0x407ec8
push eax
call esi
add esp, 8
test eax, eax
jne 0x4487bf
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
mov ecx, dword [ebx + 0x194]
or ecx, 0x20
mov dword [ebx + 0x194], ecx
mov byte [ebx + 0x137], 1
cmp word [ebp + 4], 0
jbe 0x449aa8
mov edi, dword [esp + 0x10]
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x4046e0
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x448775
mov byte [ebx + 0x13a], 1
jmp 0x4487af
push 0x407ec0
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x448791
mov byte [ebx + 0x138], 1
jmp 0x4487af
push 0x407eb8
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
mov byte [ebx + 0x139], 1
inc edi
cmp di, word [ebp + 4]
jb 0x448742
mov dword [esp + 0x10], edi
jmp 0x449aa8
mov edx, dword [ebp]
push 0x407eb0
push edx
call esi
add esp, 8
test eax, eax
jne 0x44889d
cmp word [ebp + 4], ax
je 0x4499e0
mov esi, dword [esp + 0x18]
push 0x3d
mov eax, dword [esi]
add eax, 6
push eax
call dword [sym.imp.MSVCRT.dll__mbschr]
add esp, 8
test eax, eax
je 0x449a4e
mov ecx, dword [esi]
add ecx, 6
cmp eax, ecx
je 0x449a4e
mov cl, byte [eax + 1]
lea esi, [eax + 1]
test cl, cl
je 0x449a4e
mov edi, dword [esp + 0x18]
mov byte [eax], 0
mov edx, dword [edi]
add edx, 6
push edx
call fcn.0040f200
test al, al
jne 0x448855
mov eax, dword [edi]
add eax, 6
push eax
call fcn.00451750
dec esi
mov edx, dword [esp + 0x86c]
mov byte [esi], 0x3d
mov ecx, dword [edi]
push ecx
push eax
push 0x4a0
push edx
call fcn.00431420
add esp, 0x10
push esi
call fcn.0040f200
test al, al
jne 0x44887d
mov ecx, dword [esp + 0x86c]
dec esi
mov byte [esi], 0x3d
mov eax, dword [edi]
inc esi
push eax
push esi
push 0x4a0
push ecx
call fcn.00431420
add esp, 0x10
mov edx, dword [edi]
push esi
add edx, 6
push edx
push 0x4810f0
call fcn.0045ede0
or dword [ebx + 0x194], 0x100000
jmp 0x447206
mov eax, dword [ebp]
push 0x407ea4
push eax
call esi
add esp, 8
test eax, eax
jne 0x4488bb
mov byte [ebx + 0x13c], 1
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x407e94
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4488d9
mov byte [ebx + 0x133], 1
jmp 0x449aa8
mov edx, dword [ebp]
push 0x4067a4
push edx
call esi
add esp, 8
test eax, eax
jne 0x448925
cmp word [ebp + 4], ax
je 0x4499e0
mov al, byte [esp + 0x17]
test al, al
je 0x44891a
cmp dword [ebx + 0x1e8], 1
jne 0x44891a
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
add ecx, 5
mov dword [0x4690c0], ecx
jmp 0x447206
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
jmp 0x449ba8
mov edx, dword [ebp]
push 0x407e8c
push edx
call esi
add esp, 8
test eax, eax
jne 0x448943
mov byte [ebx + 0x13d], 1
jmp 0x449aa8
mov eax, dword [ebp]
push 0x407e80
push eax
call esi
add esp, 8
test eax, eax
jne 0x448961
mov byte [ebx + 0x13e], 1
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x407338
push ecx
call esi
add esp, 8
test eax, eax
je 0x449bc3
mov edx, dword [ebp]
push 0x407334
push edx
call esi
add esp, 8
test eax, eax
je 0x449bc3
mov eax, dword [ebp]
push 0x407e74
push eax
call esi
add esp, 8
test eax, eax
jne 0x4489bd
cmp word [ebp + 4], ax
je 0x4499e0
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
add edx, 0xc
push edx
call fcn.0041fe70
jmp 0x447206
mov eax, dword [ebp]
push 0x407e6c
push eax
call esi
add esp, 8
test eax, eax
jne 0x4489db
mov byte [ebx + 0x140], 1
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x406d3c
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4489f7
mov byte [0x4692e8], al
jmp 0x449aa8
mov edx, dword [ebp]
push 0x407e60
push edx
call esi
add esp, 8
test eax, eax
jne 0x448a18
or dword [ebx + 0x194], 0x200000
jmp 0x449aa8
mov eax, dword [ebp]
push 0x407e58
push eax
call esi
add esp, 8
test eax, eax
jne 0x448a36
mov byte [ebx + 0x141], 1
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x407e54
push ecx
call esi
add esp, 8
test eax, eax
jne 0x448be8
cmp word [ebp + 4], ax
jbe 0x4499e0
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x4499e0
mov eax, dword [esp + 0x10]
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
lea edi, [eax + 1]
test ecx, ecx
jne 0x449a4e
mov esi, dword [ebp + eax*8 + 0xc]
mov ebx, dword [sym.imp.MSVCRT.dll__stricmp]
push 0x407e50
push esi
call ebx
add esp, 8
test eax, eax
jne 0x448afa
mov ax, word [ebp + 4]
cmp edi, eax
jge 0x448adb
mov esi, dword [esp + 0x10]
inc esi
mov ecx, esi
mov dword [esp + 0x10], esi
and ecx, 0xffff
mov edx, dword [ebp + ecx*8 + 0xc]
cmp byte [edx], 0
je 0x448ad1
lea eax, [esp + 0x50]
push eax
push esi
push ebp
call fcn.0040ce20
test al, al
jne 0x448ad1
add esi, 0xffff
mov dword [esp + 0x10], esi
jmp 0x448adb
mov ecx, dword [esp + 0x50]
mov dword [0x4690d4], ecx
mov eax, dword [esp + 0x864]
mov byte [eax + 0x134], 1
mov ecx, dword [eax + 0x194]
or ecx, 0x400000
jmp 0x448bca
push 0x407e48
push esi
call ebx
add esp, 8
test eax, eax
jne 0x448b28
mov eax, dword [esp + 0x864]
mov byte [eax + 0x134], 0
mov ecx, dword [eax + 0x194]
or ecx, 0x400000
jmp 0x448bca
push 0x407e40
push esi
call ebx
add esp, 8
test eax, eax
jne 0x448b53
mov eax, dword [esp + 0x864]
mov byte [eax + 0x149], 0
mov ecx, dword [eax + 0x194]
or ecx, 0x800000
jmp 0x448bca
push 0x407e38
push esi
call ebx
add esp, 8
test eax, eax
jne 0x448b72
mov eax, dword [esp + 0x864]
mov byte [eax + 0x143], 0
jmp 0x448bbe
push 0x407e34
push esi
call ebx
add esp, 8
test eax, eax
jne 0x448b9d
mov eax, dword [esp + 0x864]
mov byte [eax + 0x149], 1
mov ecx, dword [eax + 0x194]
or ecx, 0x800000
jmp 0x448bca
push 0x407e2c
push esi
call ebx
add esp, 8
test eax, eax
jne 0x449a4e
mov eax, dword [esp + 0x864]
mov byte [eax + 0x143], 1
mov ecx, dword [eax + 0x194]
or ecx, 0x1000000
mov dword [eax + 0x194], ecx
mov eax, dword [esp + 0x10]
inc eax
cmp ax, word [ebp + 4]
mov dword [esp + 0x10], eax
jb 0x448a62
jmp 0x4471ff
mov edx, dword [ebp]
push 0x407e20
push edx
call esi
add esp, 8
test eax, eax
je 0x449aa8
mov eax, dword [ebp]
mov esi, dword [sym.imp.MSVCRT.dll__stricmp]
push 0x406ca4
push eax
call esi
add esp, 8
test eax, eax
jne 0x448cd4
cmp word [ebp + 4], ax
jbe 0x4499e0
mov esi, dword [ebp + 0xc]
cmp byte [esi], 0
je 0x4499e0
mov eax, dword [ebp + 8]
test eax, eax
jne 0x449a4e
push 0x2e
push esi
mov dword [esp + 0x18], 1
mov dword [esp + 0x38], 0
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
test eax, eax
je 0x448c87
lea ecx, [esp + 0x30]
inc eax
push ecx
push 0x4026a8
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x449a6a
cmp dword [esp + 0x30], 0xffff
ja 0x449a6a
lea edx, [esp + 0x3c]
push edx
push 0x4026a8
push esi
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x449a6a
mov eax, dword [esp + 0x3c]
cmp eax, 0xffff
ja 0x449a6a
mov ecx, dword [ebx + 0x194]
mov word [ebx + 0x6c], ax
mov ax, word [esp + 0x30]
or ch, 4
mov dword [ebx + 0x194], ecx
mov word [ebx + 0x6e], ax
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x404688
push ecx
call esi
add esp, 8
test eax, eax
jne 0x448e41
cmp word [ebp + 4], ax
je 0x4499e0
mov edx, dword [esp + 0x18]
mov al, byte [ebx + 0x124]
mov ebp, dword [edx]
add ebp, 4
test al, al
je 0x448daa
mov al, byte [esp + 0x17]
test al, al
je 0x448daa
cmp word [ebx + 0x30], 0x601
je 0x4471ff
mov edx, dword [0x481170]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x158]
push eax
push ecx
push 0
push 0
push edx
call dword [sym.imp.MSVCRT.dll__splitpath]
lea edi, [esp + 0x6c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x16c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebp
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x170]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 0x1c
test eax, eax
je 0x4471ff
mov ecx, dword [0x481170]
mov edx, dword [esp + 0x86c]
push ecx
push ebp
push 0xfe6
push edx
call fcn.004314f0
jmp 0x4471fc
mov dword [0x481170], ebp
mov byte [ebx + 0x124], 1
mov eax, dword [0x480f08]
test eax, eax
je 0x447206
mov edx, dword [0x481170]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x158]
push eax
push ecx
push 0
push 0
push edx
call dword [sym.imp.MSVCRT.dll__splitpath]
mov eax, dword [esp + 0x34]
push eax
call dword [sym.imp.MSVCRT.dll_free]
mov edi, 0x407324
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x158]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x58]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
push edx
call fcn.004516d0
lea ecx, [esp + 0x58]
lea edx, [esp + 0x158]
push ecx
push edx
mov dword [esp + 0x28], eax
push 0x407324
jmp 0x4471f5
mov eax, dword [ebp]
push 0x407e1c
push eax
call esi
add esp, 8
test eax, eax
jne 0x448f2f
cmp word [ebp + 4], ax
je 0x4499e0
mov ecx, dword [esp + 0x18]
push 0x404654
mov esi, dword [ecx]
add esi, 4
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x448e87
mov byte [0x4690c4], al
jmp 0x447206
mov eax, dword [0x480f08]
mov dword [0x481150], esi
test eax, eax
je 0x447206
lea edx, [esp + 0x58]
lea eax, [esp + 0x158]
push edx
push eax
push 0
push 0
push esi
call dword [sym.imp.MSVCRT.dll__splitpath]
mov al, byte [esp + 0x16c]
add esp, 0x14
test al, al
je 0x4471ff
mov al, byte [esp + 0x58]
test al, al
je 0x4471ff
mov ecx, dword [esp + 0x20]
push ecx
call dword [sym.imp.MSVCRT.dll_free]
mov edi, 0x407e0c
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x158]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x58]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
push edx
call fcn.004516d0
lea ecx, [esp + 0x58]
lea edx, [esp + 0x158]
push ecx
push edx
mov dword [esp + 0x28], eax
push 0x407e0c
jmp 0x4471f5
mov eax, dword [ebp]
push 0x407e04
push eax
call esi
add esp, 8
test eax, eax
jne 0x448fcc
cmp word [ebp + 4], ax
jbe 0x4499e0
mov esi, dword [ebp + 0xc]
cmp byte [esi], 0
je 0x4499e0
mov eax, dword [ebp + 8]
test eax, eax
jne 0x449a4e
mov edi, dword [sym.imp.MSVCRT.dll__stricmp]
push 0x407e00
push esi
mov dword [esp + 0x18], 1
call edi
add esp, 8
test eax, eax
je 0x448fc0
push 0x407df4
push esi
call edi
add esp, 8
test eax, eax
je 0x448fc0
push 0x407dec
push esi
call edi
add esp, 8
test eax, eax
je 0x448fb4
push 0x407de0
push esi
call edi
add esp, 8
test eax, eax
jne 0x449a4e
mov byte [ebx + 0x14a], 1
jmp 0x449aa8
mov byte [ebx + 0x14a], 0
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x407dd8
push ecx
call esi
add esp, 8
test eax, eax
jne 0x448ff8
mov byte [ebx + 0x146], 1
mov byte [ebx + 0x137], 1
mov byte [ebx + 0x139], 1
jmp 0x449aa8
mov edx, dword [ebp]
push 0x406c94
push edx
call esi
add esp, 8
test eax, eax
jne 0x449016
mov byte [ebx + 0x12c], 1
jmp 0x449aa8
mov eax, dword [ebp]
push 0x407dd4
push eax
call esi
add esp, 8
test eax, eax
jne 0x449034
mov byte [ebx + 0x148], 1
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x407dd0
push ecx
call esi
add esp, 8
test eax, eax
jne 0x449052
mov byte [ebx + 0x147], 1
jmp 0x449aa8
mov edx, dword [ebp]
push 0x404640
push edx
call esi
add esp, 8
test eax, eax
jne 0x449115
cmp word [ebp + 4], ax
je 0x4499e0
mov eax, dword [esp + 0x18]
push 0x2c
mov esi, dword [eax]
add esi, 8
push esi
call dword [sym.imp.MSVCRT.dll__mbschr]
add esp, 8
test eax, eax
je 0x4490e2
sub eax, esi
mov ebp, eax
lea ecx, [ebp + 1]
push ecx
call fcn.004516d0
mov edi, eax
push ebp
push esi
push edi
call dword [sym.imp.MSVCRT.dll__mbsnbcpy]
add esp, 0xc
mov byte [edi + ebp], 0
push edi
call fcn.0040f200
test al, al
jne 0x4490d1
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x86c]
mov eax, dword [edx]
push eax
push edi
push 0x4a0
push ecx
call fcn.00431420
add esp, 0x10
push edi
call dword [sym.imp.MSVCRT.dll_free]
mov ebx, dword [esp + 0x868]
add esp, 4
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
add eax, 8
push eax
push 0x4810a0
call fcn.0045ee80
mov al, byte [esp + 0x17]
test al, al
jne 0x4471ff
mov eax, dword [ebx + 0x194]
or al, 0x40
mov dword [ebx + 0x194], eax
jmp 0x447206
mov ecx, dword [ebp]
push 0x406c8c
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4491db
cmp word [ebp + 4], ax
jbe 0x4499e0
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
je 0x4499e0
mov al, byte [ebx + 0x127]
test al, al
je 0x449160
mov al, byte [esp + 0x17]
test al, al
je 0x449160
mov dword [esp + 0x10], 2
jmp 0x449aa8
lea esi, [ebx + 0x8c]
push esi
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov edi, 2
mov dword [esp + 0x10], 1
cmp word [ebp + 4], di
jb 0x4491a9
mov eax, dword [ebp + 0x14]
cmp byte [eax], 0
je 0x4491a9
lea ecx, [ebx + 0x90]
push ecx
push 1
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov eax, dword [ebx + 0x90]
mov dword [esp + 0x10], edi
test al, 3
mov byte [ebx + 0x127], 1
je 0x4491c3
and al, 0xfc
add eax, 4
mov dword [ebx + 0x90], eax
mov eax, dword [esi]
test al, 3
je 0x4491d4
and al, 0xfc
add eax, 4
mov dword [esi], eax
jmp 0x449aa8
mov edx, dword [ebp]
push 0x407dc8
push edx
call esi
add esp, 8
test eax, eax
jne 0x4493ba
cmp word [ebp + 4], ax
je 0x4499e0
mov eax, dword [esp + 0x18]
mov ebx, dword [sym.imp.MSVCRT.dll__fsopen]
push 0x20
push 0x401c60
mov esi, dword [eax]
add esi, 5
push esi
call ebx
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4492c5
mov ebp, dword [sym.imp.MSVCRT.dll__splitpath]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x158]
push ecx
lea eax, [esp + 0x460]
push edx
lea ecx, [esp + 0x4c]
push eax
push ecx
push esi
call ebp
mov al, byte [esp + 0x58]
add esp, 0x14
test al, al
jne 0x4492b6
mov al, byte [esp + 0x45c]
test al, al
jne 0x4492b6
push edi
lea edx, [esp + 0x460]
push edi
lea eax, [esp + 0x4c]
push edx
push eax
call dword [sym.imp.MSVCRT.dll___p__pgmptr]
mov ecx, dword [eax]
push ecx
call ebp
lea edx, [esp + 0x6c]
lea eax, [esp + 0x16c]
push edx
lea ecx, [esp + 0x474]
push eax
lea edx, [esp + 0x60]
push ecx
lea eax, [esp + 0x77c]
push edx
push eax
call dword [sym.imp.MSVCRT.dll__makepath]
push 0x20
lea ecx, [esp + 0x788]
push 0x401c60
push ecx
call ebx
mov edi, eax
add esp, 0x34
test edi, edi
jne 0x4492c5
push esi
push 0x450
push esi
call fcn.00431420
add esp, 0xc
mov edx, dword [edi + 0x10]
push edx
call dword [sym.imp.MSVCRT.dll__filelength]
mov ebx, eax
add esp, 4
test ebx, ebx
jge 0x4492e7
push esi
push 0x453
push esi
call fcn.00431420
add esp, 0xc
cmp ebx, 0x40
jge 0x4492fb
push esi
push 0x46c
push esi
call fcn.00431420
add esp, 0xc
test bl, 7
mov ebp, ebx
je 0x449308
and ebp, 0xfffffff8
add ebp, 8
push ebp
call fcn.004516d0
push edi
push ebx
push 1
push eax
mov dword [esp + 0x38], eax
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, ebx
je 0x449333
push esi
push 0x453
push esi
call fcn.00431420
add esp, 0xc
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
cmp ebx, ebp
jge 0x44935c
mov eax, dword [esp + 0x28]
mov ecx, ebp
sub ecx, ebx
mov edx, ecx
lea edi, [eax + ebx]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x28]
cmp word [eax], 0x5a4d
je 0x449376
push esi
push 0x46c
push esi
call fcn.00431420
add esp, 0xc
mov ecx, dword [esp + 0x28]
cmp word [ecx + 0x18], 0x40
jae 0x44938f
push 0xfdc
push esi
call fcn.004314f0
add esp, 8
mov eax, dword [esp + 0x864]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x194]
mov dword [eax + 0x1dc], edx
or cl, 0x80
mov dword [eax + 0x1e0], ebp
mov dword [eax + 0x194], ecx
jmp 0x4471ff
mov eax, dword [ebp]
push 0x406c80
push eax
call esi
add esp, 8
test eax, eax
jne 0x4495be
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
mov eax, dword [esp + 0x10]
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a4e
mov esi, dword [ebp + eax*8 + 0xc]
sub eax, 0
je 0x4494ff
dec eax
jne 0x449a4e
push 0x2e
push esi
mov dword [esp + 0x38], 0
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
test eax, eax
je 0x449453
lea edx, [esp + 0x30]
inc eax
push edx
push 0x4026a8
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x449a6a
cmp dword [esp + 0x30], 0xffff
ja 0x449a6a
lea eax, [esp + 0x3c]
push eax
push 0x4026a8
push esi
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x449a6a
mov ecx, dword [esp + 0x3c]
cmp ecx, 0xffff
ja 0x449a6a
mov edx, dword [esp + 0x30]
xor eax, eax
mov ax, word [ebx + 0x88]
cmp eax, 2
jl 0x4494e3
cmp eax, 3
jle 0x4494bc
cmp eax, 9
jne 0x4494e3
cmp ecx, 1
jae 0x4494e3
mov ecx, dword [esp + 0x86c]
push esi
push 0xfaa
push ecx
call fcn.004314f0
add esp, 0xc
jmp 0x4495a6
cmp ecx, 3
jb 0x4494c8
jne 0x4494e3
cmp edx, 0xa
jae 0x4494e3
mov edx, dword [esp + 0x86c]
push esi
push 0xfaa
push edx
call fcn.004314f0
add esp, 0xc
jmp 0x4495a6
mov eax, dword [ebx + 0x194]
mov word [ebx + 0x74], cx
or ah, 8
mov word [ebx + 0x76], dx
mov dword [ebx + 0x194], eax
jmp 0x4495a6
mov edi, dword [sym.imp.MSVCRT.dll__stricmp]
push 0x406c78
push esi
call edi
add esp, 8
test eax, eax
jne 0x44951f
mov word [ebx + 0x88], 3
jmp 0x449597
push 0x406c70
push esi
call edi
add esp, 8
test eax, eax
jne 0x449540
mov word [ebx + 0x88], 1
mov byte [ebx + 0x12c], 1
jmp 0x449597
push 0x406c68
push esi
call edi
add esp, 8
test eax, eax
jne 0x44955a
mov word [ebx + 0x88], 7
jmp 0x449597
push 0x402840
push esi
call edi
add esp, 8
test eax, eax
jne 0x449574
mov word [ebx + 0x88], 2
jmp 0x449597
push 0x406c5c
push esi
call edi
add esp, 8
test eax, eax
jne 0x449a4e
mov word [ebx + 0x88], 9
mov byte [ebx + 0x14b], 1
mov eax, dword [ebx + 0x194]
or ah, 1
mov dword [ebx + 0x194], eax
mov eax, dword [esp + 0x10]
inc eax
cmp ax, word [ebp + 4]
mov dword [esp + 0x10], eax
jb 0x4493e6
jmp 0x447206
mov eax, dword [ebp]
push 0x406c54
push eax
call esi
add esp, 8
test eax, eax
jne 0x449645
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
mov edi, dword [esp + 0x10]
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x406c50
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x44961a
or byte [ebx + 0x43], 4
jmp 0x449635
push 0x406c4c
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
or byte [ebx + 0x43], 8
inc edi
cmp di, word [ebp + 4]
jb 0x4495ea
mov dword [esp + 0x10], edi
jmp 0x447206
mov edx, dword [ebp]
push 0x407dc0
push edx
call esi
add esp, 8
test eax, eax
jne 0x449663
mov byte [0x480ed4], 1
jmp 0x449aa8
mov eax, dword [ebp]
push 0x407db8
push eax
call esi
add esp, 8
test eax, eax
jne 0x449681
mov byte [0x496460], 1
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x407314
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4496ff
cmp word [ebp + 4], ax
jbe 0x4496a1
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
jne 0x4496b4
mov byte [0x481175], 1
mov byte [0x481174], 1
jmp 0x449aa8
mov esi, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCRT.dll__stricmp]
mov eax, esi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a4a
mov eax, dword [ebp + eax*8 + 0xc]
push 0x407310
push eax
call edi
add esp, 8
test eax, eax
jne 0x449a4a
inc esi
mov byte [0x481174], 1
cmp si, word [ebp + 4]
jb 0x4496be
mov dword [esp + 0x10], esi
jmp 0x447206
mov eax, dword [ebp]
push 0x406c38
push eax
call esi
add esp, 8
test eax, eax
jne 0x449869
cmp word [ebp + 4], ax
jbe 0x4499e0
mov esi, dword [ebp + 0xc]
cmp byte [esi], 0
je 0x4499e0
mov eax, dword [ebp + 8]
test eax, eax
je 0x4497d0
mov esi, dword [sym.imp.MSVCRT.dll__stricmp]
push 0x407dac
push eax
call esi
add esp, 8
test eax, eax
jne 0x449a4e
mov eax, dword [ebp + 0xc]
push 0x407da4
push eax
call esi
add esp, 8
test eax, eax
jne 0x449a4e
mov ebx, 1
cmp word [ebp + 4], bx
mov dword [esp + 0x10], ebx
jbe 0x4471ff
mov edi, dword [esp + 0x864]
mov eax, ebx
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a3e
mov ecx, dword [edi + 0x1c0]
mov esi, dword [ebp + eax*8 + 0xc]
push 1
push ecx
push esi
call fcn.0040f240
test eax, eax
je 0x4497c0
mov eax, dword [esp + 0x86c]
push esi
push eax
push 0xfd9
push eax
call fcn.004314f0
add esp, 0x10
inc ebx
cmp bx, word [ebp + 4]
jb 0x44977f
mov dword [esp + 0x10], ebx
jmp 0x4471ff
push 0x2e
push esi
mov dword [esp + 0x18], 1
mov dword [esp + 0x38], 0
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
test eax, eax
je 0x44981c
lea edx, [esp + 0x30]
inc eax
push edx
push 0x4026a8
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x449a6a
cmp dword [esp + 0x30], 0xffff
ja 0x449a6a
lea eax, [esp + 0x3c]
push eax
push 0x4026a8
push esi
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x449a6a
mov eax, dword [esp + 0x3c]
cmp eax, 0xffff
ja 0x449a6a
mov ecx, dword [ebx + 0x194]
mov word [ebx + 0x70], ax
or ch, 2
mov dword [ebx + 0x194], ecx
mov cx, word [esp + 0x30]
mov word [ebx + 0x72], cx
jmp 0x449aa8
mov edx, dword [ebp]
push 0x402778
push edx
call esi
add esp, 8
test eax, eax
jne 0x4498ac
mov al, byte [esp + 0x17]
test al, al
je 0x4498a1
cmp dword [ebx + 0x1e8], 1
je 0x4498a1
mov eax, dword [esp + 0x86c]
push 0x481
push eax
call fcn.00431420
add esp, 8
mov word [ebx + 0x30], 0x14c
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x407d9c
push ecx
call esi
add esp, 8
test eax, eax
jne 0x449913
cmp word [ebp + 4], ax
jbe 0x4498cc
mov edx, dword [ebp + 0xc]
cmp byte [edx], 0
jne 0x4498da
mov word [0x4692ea], 2
jmp 0x449aa8
mov eax, dword [ebp + 8]
test eax, eax
jne 0x449a4e
lea eax, [esp + 0x1c]
push eax
push 0
push ebp
call fcn.0040ce20
test al, al
je 0x449a6a
mov cx, word [esp + 0x1c]
mov dword [esp + 0x10], 1
mov word [0x4692ea], cx
jmp 0x449aa8
mov edx, dword [ebp]
push 0x407d98
push edx
call esi
add esp, 8
test eax, eax
jne 0x44992f
mov byte [esp + 0x2f], 1
jmp 0x449aa8
mov eax, dword [ebp]
push 0x406c5c
push eax
call esi
add esp, 8
test eax, eax
jne 0x4499bc
cmp word [ebp + 4], ax
jbe 0x4499e0
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x4499e0
mov edi, dword [esp + 0x10]
mov eax, edi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a44
mov esi, dword [ebp + eax*8 + 0xc]
push 0x407d8c
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x44998e
mov byte [ebx + 0x14c], 1
jmp 0x4499ac
push 0x404708
push esi
call dword [sym.imp.MSVCRT.dll__stricmp]
add esp, 8
test eax, eax
jne 0x449a44
mov byte [ebx + 0x14d], 1
inc edi
cmp di, word [ebp + 4]
jb 0x44995b
mov dword [esp + 0x10], edi
jmp 0x447206
mov edx, dword [ebp]
push 0x406c34
push edx
call esi
add esp, 8
test eax, eax
jne 0x449a8f
cmp word [ebp + 4], ax
jbe 0x4499e0
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
jne 0x4499fe
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x86c]
mov edx, dword [ecx]
push edx
push 0x47a
push eax
call fcn.00431420
add esp, 0xc
jmp 0x449a4e
mov esi, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCRT.dll__stricmp]
mov eax, esi
and eax, 0xffff
mov ecx, dword [ebp + eax*8 + 8]
test ecx, ecx
jne 0x449a4a
mov eax, dword [ebp + eax*8 + 0xc]
push 0x406c28
push eax
call edi
add esp, 8
test eax, eax
jne 0x449a4a
or byte [ebx + 0x42], 0x10
inc esi
cmp si, word [ebp + 4]
jb 0x449a08
mov dword [esp + 0x10], esi
jmp 0x447206
mov dword [esp + 0x10], ebx
jmp 0x449a4e
mov dword [esp + 0x10], edi
jmp 0x449a4e
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x86c]
mov edx, dword [ecx]
push edx
push 0x45d
push eax
call fcn.00431420
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x86c]
mov edx, dword [ecx]
push edx
push 0x47b
push eax
call fcn.00431420
mov ebx, dword [esp + 0x870]
add esp, 0xc
jmp 0x449aa8
mov ecx, dword [ebp]
push 0x404628
push ecx
call esi
add esp, 8
test eax, eax
jne 0x449ad8
mov byte [0x480f00], 1
mov dx, word [esp + 0x10]
cmp word [ebp + 4], dx
jbe 0x4471ff
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x86c]
mov ecx, dword [eax]
push ecx
push 0xfd8
push edx
call fcn.004314f0
add esp, 0xc
jmp 0x447206
mov esi, dword [esp + 0x18]
push 7
push 0x407d84
mov eax, dword [esi]
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x449ba6
mov byte [ebx + 0x144], 1
mov ecx, dword [esi]
add ecx, 7
mov dword [0x496448], ecx
call fcn.00459a60
mov eax, dword [0x480f08]
test eax, eax
je 0x447206
mov edx, dword [0x496448]
push 0
push edx
call fcn.00446530
mov edx, dword [0x496448]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x158]
push eax
push ecx
push 0
push 0
push edx
call dword [sym.imp.MSVCRT.dll__splitpath]
mov eax, dword [esp + 0x34]
push eax
call dword [sym.imp.MSVCRT.dll_free]
mov edi, 0x407d74
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x158]
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x58]
add edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
push edx
call fcn.004516d0
lea ecx, [esp + 0x58]
lea edx, [esp + 0x158]
push ecx
push edx
mov dword [esp + 0x28], eax
push 0x407d74
jmp 0x4471f5
mov eax, dword [esi]
mov ecx, dword [esp + 0x86c]
push eax
push 0xfcc
push ecx
call fcn.004314f0
add esp, 0xc
jmp 0x447206
cmp word [ebp + 4], 0
jne 0x449be4
lea edx, [ebx + 0x1c0]
mov byte [ebx + 0x13f], 1
push edx
push 0
call fcn.00417020
jmp 0x447206
mov eax, dword [ebp]
push 0x407334
push eax
call esi
mov ecx, dword [esp + 0x20]
add esp, 8
neg eax
mov edi, dword [ecx]
lea edx, [ebx + 0x1c0]
sbb eax, eax
push edx
and eax, 9
add eax, 4
add eax, edi
push eax
call fcn.00417020
jmp 0x447206