Function at 0x43e7e0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xd8
mov eax, 0x476e89
call fcn.00476b3b
mov eax, dword [ebp + 0xc]
xor ecx, ecx
push 7
mov dword [ebp - 0xc8], eax
xor eax, eax
pop edx
mov byte [ebp - 0xd4], al
mov byte [ebp - 0xd3], al
mov byte [ebp - 0xd6], al
mov byte [ebp - 0xd5], al
mov byte [ebp - 0xd2], al
mov byte [ebp - 0xd7], al
mov byte [ebp - 0xd1], al
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edx
mov word [ebp - 0xbc], cx
mov dword [ebp - 4], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov word [ebp - 0x8c], cx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov word [ebp - 0x74], cx
xor ebx, ebx
mov byte [ebp - 0xc9], al
inc ebx
mov esi, ebx
push 0x40246c
push eax
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe0], esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_setlocale]
pop ecx
pop ecx
xor eax, eax
push eax
push eax
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
mov byte [ebp - 4], 3
xor eax, eax
cmp dword [0x47f254], 8
mov ecx, 0x47f240
mov dword [0x47f898], eax
mov dword [0x47f250], eax
jb 0x43e8ab
mov ecx, dword [0x47f240]
xor edx, edx
mov word [ecx], dx
mov ecx, 0x47f260
cmp dword [0x47f274], 8
mov dword [0x47f270], eax
jb 0x43e8c9
mov ecx, dword [0x47f260]
xor edx, edx
mov word [ecx], dx
lea ecx, [ebp - 0x74]
push 0x1a
push 0x401c58
mov byte [0x47f82c], al
mov byte [0x47f831], al
mov byte [0x47f82f], al
mov byte [0x47f830], bl
mov byte [0x47f82e], bl
call fcn.00440bc2
cmp dword [ebp - 0x60], 8
lea eax, [ebp - 0x74]
jb 0x43e904
mov eax, dword [ebp - 0x74]
mov dword [0x47f84c], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffffe
cmp eax, 0x30
ja 0x43f7e3
xor eax, eax
mov dword [0x47f894], 0x4943a0
push eax
push eax
mov edx, 0x401c90
mov dword [0x4943b4], eax
mov ecx, 0x47f88c
call fcn.00455409
mov dword [0x47f890], eax
mov edi, 0x47f884
xor eax, eax
mov edx, 0x401ca8
push eax
push eax
mov ecx, edi
call fcn.00455409
xor esi, esi
mov dword [0x47f888], eax
push esi
push ebx
mov edx, 0x401cb8
mov ecx, edi
call fcn.00455409
push esi
push 2
mov edx, 0x401cd4
mov ecx, edi
call fcn.00455409
push esi
push 3
mov edx, 0x401ce4
mov ecx, edi
call fcn.00455409
push 0x401cf0
push 0x409
mov edx, 0x401d04
mov ecx, 0x47f880
call fcn.00455409
push 2
mov esi, 0x401d14
mov ecx, 0x47f380
push esi
call fcn.00440bc2
push 2
push esi
mov ecx, 0x47f320
call fcn.00440bc2
push ebx
push 0x401d1c
mov ecx, 0x47f300
call fcn.00440bc2
push 2
push esi
mov ecx, 0x47f360
call fcn.00440bc2
push 2
push esi
mov ecx, 0x47f3a0
call fcn.00440bc2
push 8
xor eax, eax
mov ecx, 0x47f3c0
pop esi
mov dword [0x47f3d0], eax
cmp dword [0x47f3d4], esi
jb 0x43ea06
mov ecx, dword [0x47f3c0]
xor edx, edx
mov word [ecx], dx
mov ecx, 0x47f3e0
mov dword [0x47f3f0], eax
cmp dword [0x47f3f4], esi
jb 0x43ea23
mov ecx, dword [0x47f3e0]
xor edx, edx
mov word [ecx], dx
mov ecx, 0x47f220
mov dword [0x47f230], eax
cmp dword [0x47f234], esi
jb 0x43ea40
mov ecx, dword [0x47f220]
xor edx, edx
mov word [ecx], dx
mov dword [0x47f290], eax
mov eax, 0x47f280
cmp dword [0x47f294], esi
jb 0x43ea5c
mov eax, dword [0x47f280]
xor ecx, ecx
mov word [eax], cx
call fcn.004512f0
xor eax, eax
xor esi, esi
mov edi, eax
mov byte [0x47f87f], al
mov byte [0x47f87e], al
mov byte [0x47f87d], al
mov byte [0x47f87c], al
mov byte [0x47f877], al
mov dword [0x47f8a4], eax
mov dword [ebp - 0xc4], edi
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
je 0x43f332
mov eax, dword [ebp - 0xc8]
add eax, 4
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
movzx eax, word [ecx]
cmp eax, 0x2d
je 0x43eaea
cmp eax, 0x2f
je 0x43eaea
mov dword [ebp - 0xd0], 0x2013
cmp ax, word [ebp - 0xd0]
je 0x43eaea
mov dword [ebp - 0xd0], 0x2014
cmp ax, word [ebp - 0xd0]
je 0x43eaea
call fcn.00455bad
jmp 0x43ea90
add ecx, 2
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xc0], ecx
movzx eax, word [ecx]
test ax, ax
je 0x43ea93
mov edi, eax
push edi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_towlower]
movzx eax, ax
pop ecx
cmp eax, 0x6e
ja 0x43f037
je 0x43effb
cmp eax, 0x65
ja 0x43edc2
je 0x43ed4c
sub eax, 0x3f
je 0x43ed3a
sub eax, 0x22
je 0x43ed10
sub eax, 1
je 0x43ed05
sub eax, 1
je 0x43eb66
sub eax, 1
jne case.0x43f043.113
mov byte [0x47f87d], bl
mov byte [0x47f87c], bl
jmp 0x43f2fd
mov edi, dword [ebp - 0xc0]
push 3
push 0x401d20
push edi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
neg eax
push 2
sbb al, al
inc al
push 0x401d28
push edi
mov byte [0x47f833], al
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0x18
test eax, eax
je 0x43ec83
cmp byte [0x47f833], 0
jne 0x43ec83
push 2
push 0x401d74
push edi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x43ebcb
mov byte [0x47f832], bl
jmp 0x43f1e7
mov eax, dword [ebp - 0xc8]
push 0x401d7c
mov eax, dword [eax]
add eax, 2
push eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x43ec74
sub dword [ebp + 8], 1
je 0x43ec60
mov eax, dword [ebp - 0xc8]
add eax, 4
mov dword [ebp - 0xc8], eax
mov edi, dword [eax]
mov ecx, edi
call fcn.0043d180
cmp al, 3
jne 0x43ec2f
push edi
push 0x401d84
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
mov edi, ebx
add esp, 0xc
mov dword [ebp - 0xc4], edi
jmp 0x43ec52
mov byte [0x47f836], al
mov cl, 2
mov byte [0x494331], al
cmp al, bl
je 0x43ec41
mov cl, al
mov edi, dword [ebp - 0xc4]
mov byte [0x494339], cl
mov byte [0x494341], al
mov ecx, dword [ebp - 0xc0]
add ecx, 2
jmp 0x43f32a
mov eax, dword [ebp - 0xd0]
push edi
mov dword [ebp + 8], eax
push 0x401dbc
jmp 0x43f30b
mov dword [0x47f878], 0x20000000
jmp 0x43f2fd
sub dword [ebp + 8], 1
je 0x43ecc4
mov eax, dword [ebp - 0xc8]
mov ecx, 0x47f300
add eax, 4
mov byte [0x47f82c], bl
push 2
mov byte [0x47f831], bl
mov dword [ebp - 0xc8], eax
mov eax, dword [eax]
push 0x401d28
mov dword [0x47f840], eax
call fcn.00440bc2
mov edi, dword [ebp - 0xc4]
jmp 0x43ecea
mov eax, dword [ebp - 0xd0]
push 0x401d30
push 2
mov dword [ebp + 8], eax
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
mov edi, ebx
pop ecx
mov dword [ebp - 0xc4], edi
mov ecx, dword [ebp - 0xc0]
add ecx, 2
cmp byte [0x47f833], 0
je 0x43f1f0
jmp 0x43ec58
mov byte [0x47f876], bl
jmp 0x43f2fd
cmp edi, 0x61
mov edi, dword [ebp - 0xc4]
jne 0x43ed26
mov byte [ebp - 0xd5], bl
jmp 0x43f324
mov byte [0x47f216], 0
xor esi, esi
mov byte [ebp - 0xd2], bl
jmp 0x43f324
mov cl, byte [ebp - 0xd4]
call fcn.00455d7c
push esi
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_exit]
sub dword [ebp + 8], 1
je 0x43edae
mov eax, dword [ebp - 0xc8]
mov edi, 0x47f300
add eax, 4
mov ecx, edi
mov dword [ebp - 0xc8], eax
push dword [eax]
call fcn.0043fbb3
mov eax, dword [0x47f310]
dec eax
cmp eax, 2
ja 0x43ed94
cmp dword [0x47f314], 8
mov eax, edi
jb 0x43ed8a
mov eax, dword [0x47f300]
cmp word [eax], 0x2e
jne 0x43f186
push 0x401df0
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
jmp 0x43f31c
mov eax, dword [ebp - 0xd0]
push edi
mov dword [ebp + 8], eax
push 0x401e20
jmp 0x43f30b
sub eax, 0x67
je 0x43eec2
sub eax, 1
je 0x43ee94
sub eax, 3
je 0x43ee6b
dec eax
sub eax, 1
jne case.0x43f043.113
push 3
push 0x401f88
push dword [ebp - 0xc0]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x43ee1c
mov ecx, dword [ebp - 0xc0]
add ecx, 4
mov byte [0x47f82f], bl
mov byte [0x47f82e], al
xor esi, esi
jmp 0x43f1f0
sub dword [ebp + 8], 1
je 0x43edae
mov eax, dword [ebp - 0xc8]
add eax, 4
mov dword [ebp - 0xc8], eax
push dword [eax]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wtoi]
mov dword [0x47f8a4], eax
pop ecx
test eax, eax
jne 0x43f186
mov eax, dword [ebp - 0xc8]
push edi
push dword [eax]
push 0x401f90
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
add esp, 0x10
jmp 0x43f31c
push 2
push 0x401f80
push dword [ebp - 0xc0]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.0x43f043.113
mov byte [0x47f82d], bl
jmp 0x43f1e1
sub dword [ebp + 8], 1
je 0x43edae
mov eax, dword [ebp - 0xc8]
mov edi, 0x47f320
add eax, 4
mov ecx, edi
mov dword [ebp - 0xc8], eax
push dword [eax]
call fcn.0043fbb3
mov ecx, edi
jmp 0x43f13e
push 0x1b
push 0x401e50
push dword [ebp - 0xc0]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x43eefc
mov ecx, dword [ebp - 0xc0]
mov byte [0x47f835], bl
add ecx, 0x34
mov byte [0x47f82c], bl
mov byte [ebp - 0xc9], bl
jmp 0x43f1f0
push 0x15
push 0x401e88
push dword [ebp - 0xc0]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x43efbd
sub dword [ebp + 8], 1
je 0x43ef89
mov edi, dword [ebp - 0xc8]
add edi, 4
mov dword [ebp - 0xc8], edi
mov ecx, dword [edi]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x43ef34
sub ecx, edx
sar ecx, 1
cmp ecx, 0x400
jbe 0x43ef66
push 0x401eb4
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
push ebx
jmp 0x43ed46
push dword [edi]
lea ecx, [ebp - 0x74]
call fcn.0043fbb3
cmp dword [ebp - 0x60], 8
lea eax, [ebp - 0x74]
jb 0x43ef7c
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp - 0xc4]
mov dword [0x47f84c], eax
jmp 0x43efaf
mov eax, dword [ebp - 0xd0]
push 0x401ef0
push 2
mov dword [ebp + 8], eax
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
mov edi, ebx
pop ecx
mov dword [ebp - 0xc4], edi
mov ecx, dword [ebp - 0xc0]
add ecx, 0x28
jmp 0x43f32a
push 0x13
push 0x401f34
push dword [ebp - 0xc0]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne case.0x43f043.113
mov ecx, dword [ebp - 0xc0]
mov byte [0x47f834], bl
add ecx, 0x24
mov byte [0x47f82c], bl
mov byte [ebp - 0xc9], bl
jmp 0x43f1f0
push 0x401fc8
push dword [ebp - 0xc0]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
mov edi, dword [ebp - 0xc4]
pop ecx
pop ecx
test eax, eax
jne 0x43f02c
mov ecx, dword [ebp - 0xc0]
mov byte [ebp - 0xd4], bl
add ecx, 0x10
jmp 0x43f32a
mov byte [0x47f87f], bl
jmp 0x43f324
sub eax, 0x6f
cmp eax, 0xb
ja case.0x43f043.113
jmp dword [eax*4 + 0x43f914]
mov byte [0x47f875], bl
jmp 0x43f2fd
sub dword [ebp + 8], 1
je 0x43edae
mov eax, dword [ebp - 0xc8]
add eax, 4
mov dword [ebp - 0xc8], eax
mov ecx, dword [eax]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x43f073
sub ecx, edx
sar ecx, 1
cmp ecx, 0x10
jbe 0x43f091
push 0x401fdc
jmp 0x43ef50
mov eax, dword [ebp - 0xc8]
push dword [eax]
push 0x11
cmp edi, 0x50
jne 0x43f0ba
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_wcscpy_s]
lea eax, [ebp - 0x38]
add esp, 0xc
mov dword [0x47f83c], eax
jmp 0x43f2fd
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_wcscpy_s]
lea eax, [ebp - 0x5c]
add esp, 0xc
mov dword [0x47f838], eax
jmp 0x43f2fd
sub dword [ebp + 8], 1
je 0x43edae
mov eax, dword [ebp - 0xc8]
mov edi, 0x47f360
add eax, 4
mov ecx, edi
mov dword [ebp - 0xc8], eax
push dword [eax]
call fcn.0043fbb3
mov ecx, edi
call fcn.0043d455
push edi
mov ecx, 0x47f3a0
call fcn.0043fa20
jmp 0x43f2fd
sub dword [ebp + 8], 1
je 0x43edae
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xbc]
add eax, 4
mov dword [ebp - 0xc8], eax
push dword [eax]
call fcn.0043fbb3
lea ecx, [ebp - 0xbc]
call fcn.0043d455
jmp 0x43f2fd
sub dword [ebp + 8], 1
je 0x43f1ad
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0x8c]
add eax, 4
mov dword [ebp - 0xc8], eax
mov edi, dword [eax]
push edi
call fcn.0043fbb3
lea ecx, [ebp - 0x8c]
call fcn.0043d455
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43f18e
test al, 0x10
je 0x43f18e
mov ecx, dword [ebp - 0xc0]
jmp 0x43f1f0
push edi
push 0x402018
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
add esp, 0xc
push 0x57
pop ebx
jmp 0x43f390
mov eax, dword [ebp - 0xd0]
push edi
mov dword [ebp + 8], eax
push 0x402048
jmp 0x43f30b
push 2
push 0x402084
push dword [ebp - 0xc0]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x43f1fb
mov byte [ebp - 0xc9], bl
mov byte [0x47f82c], bl
mov ecx, dword [ebp - 0xc0]
add ecx, 2
mov edi, dword [ebp - 0xc4]
jmp 0x43f32a
cmp edi, 0x75
jne 0x43f20b
mov byte [ebp - 0xd3], bl
jmp 0x43f2fd
push 2
push 0x40208c
push dword [ebp - 0xc0]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
mov edi, dword [ebp - 0xc4]
add esp, 0xc
test eax, eax
jne 0x43f24c
mov ecx, dword [ebp - 0xc0]
add ecx, 2
mov byte [0x47f216], al
mov byte [ebp - 0xd7], bl
xor esi, esi
mov byte [ebp - 0xd1], bl
jmp 0x43f32a
mov byte [0x47f216], bl
mov byte [ebp - 0xd6], bl
jmp 0x43f324
mov byte [0x47f87e], bl
jmp 0x43f2fd
sub dword [ebp + 8], 1
je 0x43edae
push 0x57
pop eax
cmp di, ax
mov ecx, 0x47f260
mov eax, dword [ebp - 0xc8]
je 0x43f28a
mov ecx, 0x47f240
add eax, 4
mov dword [ebp - 0xc8], eax
mov edx, dword [eax]
call fcn.0043d4d2
jmp 0x43f2fd
sub dword [ebp + 8], 1
je 0x43edae
mov eax, dword [ebp - 0xc8]
mov edi, 0x47f380
add eax, 4
mov ecx, edi
mov dword [ebp - 0xc8], eax
push dword [eax]
call fcn.0043fbb3
mov ecx, edi
call fcn.0043d455
mov byte [0x47f877], bl
jmp 0x43f2fd
sub dword [ebp + 8], 1
mov byte [0x47f876], bl
je 0x43edae
mov eax, dword [ebp - 0xc8]
mov ecx, 0x47f2e0
add eax, 4
mov dword [ebp - 0xc8], eax
push dword [eax]
call fcn.0043fbb3
mov edi, dword [ebp - 0xc4]
jmp 0x43f324
push edi
push 0x401f5c
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
add esp, 0xc
mov edi, ebx
mov dword [ebp - 0xc4], edi
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp + 8]
jmp 0x43eaea
cmp dword [ebp - 0xac], 0
je 0x43f3a8
cmp dword [0x47f370], 0
mov esi, 0x47f2a0
mov ecx, esi
je 0x43f357
push 0x47f360
call fcn.0043fa20
jmp 0x43f363
push 2
push 0x401d14
call fcn.00440bc2
cmp dword [0x47f2b4], 8
jb 0x43f372
mov esi, dword [0x47f2a0]
cmp dword [ebp - 0xa8], 8
lea ecx, [ebp - 0xbc]
jb 0x43f387
mov ecx, dword [ebp - 0xbc]
mov edx, esi
call fcn.0043e79a
xor ebx, ebx
lea ecx, [ebp - 0x74]
call fcn.00440d4a
lea ecx, [ebp - 0x8c]
call fcn.00440d4a
jmp 0x43f707
cmp byte [0x47f82f], 0
je 0x43f3d1
cmp byte [0x47f82c], 0
jne 0x43f3d1
push 0x402094
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
mov edi, ebx
cmp byte [0x47f82d], 0
je 0x43f403
cmp byte [0x47f831], 0
jne 0x43f3ec
cmp byte [ebp - 0xc9], 0
je 0x43f45e
push 0x4020c0
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
mov edi, ebx
mov al, byte [0x47f831]
test al, al
je 0x43f45e
cmp byte [0x47f834], 0
jne 0x43f41e
cmp byte [0x47f835], 0
je 0x43f43a
push 0x402100
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
mov al, byte [0x47f831]
mov edi, ebx
pop ecx
pop ecx
test al, al
je 0x43f45e
cmp byte [ebp - 0xc9], 0
je 0x43f45e
push 0x40214c
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
mov edi, ebx
cmp byte [ebp - 0xd3], 0
je 0x43f487
cmp byte [ebp - 0xd5], 0
je 0x43f487
push 0x402184
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
mov edi, ebx
cmp byte [ebp - 0xd6], 0
je 0x43f4d1
cmp byte [ebp - 0xd2], 0
je 0x43f4b0
push 0x4021c0
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
mov edi, ebx
mov al, byte [ebp - 0xd1]
test al, al
je 0x43f4d7
push 0x4021fc
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
mov edi, ebx
mov al, byte [ebp - 0xd1]
cmp byte [ebp - 0xd2], 0
je 0x43f4fb
test al, al
je 0x43f4fb
push 0x402238
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
mov edi, ebx
cmp dword [0x47f3f0], 0
je 0x43f57b
cmp byte [ebp - 0xd3], 0
je 0x43f531
cmp dword [0x47f898], 4
jne 0x43f566
cmp dword [0x47f3f4], 8
mov eax, 0x47f3e0
jb 0x43f529
mov eax, dword [0x47f3e0]
push eax
push 0x402270
jmp 0x43f553
cmp dword [0x47f898], 3
jne 0x43f566
cmp dword [0x47f3f4], 8
mov eax, 0x47f3e0
jb 0x43f54d
mov eax, dword [0x47f3e0]
push eax
push 0x4022d8
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
mov edi, ebx
add esp, 0xc
cmp dword [0x47f3d0], 0
mov esi, 0x47f3c0
jne 0x43f5bf
push 0x47f3e0
jmp 0x43f597
cmp dword [0x47f230], 0
mov esi, 0x47f3c0
je 0x43f5a0
cmp dword [0x47f3d0], 0
jne 0x43f5c8
push 0x47f220
mov ecx, esi
call fcn.0043fa20
jmp 0x43f5bf
cmp dword [0x47f270], 0
je 0x43f5bd
push 0x47f260
mov ecx, esi
call fcn.0043fa20
mov byte [0x47f874], bl
jmp 0x43f5bf
mov edi, ebx
cmp dword [0x47f3f0], 0
jne 0x43f5e8
cmp byte [0x47f877], 0
je 0x43f5e8
push 0x402340
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
pop ecx
pop ecx
mov edi, ebx
test edi, edi
je 0x43f5fc
mov cl, byte [ebp - 0xd4]
call fcn.00455d7c
jmp 0x43ef60
cmp byte [0x47f876], 0
je 0x43f692
cmp dword [0x47f2f0], 0
jne 0x43f656
cmp dword [0x47f3d4], 8
jb 0x43f621
mov esi, dword [0x47f3c0]
push dword [0x47f3d0]
lea ecx, [ebp - 0xa0]
push esi
call fcn.00440366
mov eax, dword [ebp - 0x94]
mov esi, 0x47f400
sub eax, dword [ebp - 0x98]
mov ecx, esi
sar eax, 1
push eax
push dword [ebp - 0x98]
call fcn.00440bc2
jmp 0x43f667
mov esi, 0x47f400
push 0x47f2e0
mov ecx, esi
call fcn.0043fa20
cmp dword [0x47f414], 8
jb 0x43f676
mov esi, dword [0x47f400]
push dword [0x47f410]
push esi
mov esi, 0x47f3a0
mov ecx, esi
call fcn.0043fc80
push 0x5f
mov ecx, esi
call fcn.0043fb72
xor eax, eax
mov dword [ebp - 0xd0], ebx
push eax
mov dword [0x47f870], eax
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x43f6c6
push eax
push 0x402384
push 2
call sub.api_ms_win_crt_private_l1_1_0.dll__o___acrt_iob_func
pop ecx
push eax
call fcn.00476657
add esp, 0xc
jmp 0x43ef60
cmp dword [0x47f3f0], 0
je 0x43f719
mov byte [ebp - 4], 4
call fcn.00456852
movzx ecx, al
mov eax, ebx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xe0], ecx
jmp 0x43f71d
lea ecx, [ebp - 0xbc]
call fcn.00440d4a
mov eax, ebx
jmp 0x43f90b
xor eax, eax
mov ecx, ebx
push 3
pop edi
mov dword [ebp - 4], edi
cmp byte [0x47f874], 0
je 0x43f742
mov byte [ebp - 4], 6
call fcn.004522f2
movzx esi, al
jmp 0x43f76e
cmp dword [0x47f230], 0
je 0x43f77c
test ecx, ecx
je 0x43f77c
mov byte [ebp - 4], 8
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
jb 0x43f765
mov edx, dword [ebp - 0x8c]
mov ecx, eax
call fcn.0043dc95
mov esi, eax
mov dword [ebp - 0xe0], esi
jmp 0x43f782
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 4], edi
test esi, esi
je 0x43f7cc
call fcn.00457312
test al, al
je 0x43f7cc
mov cl, byte [ebp - 0xd7]
test cl, cl
je 0x43f7a0
mov cl, bl
jmp 0x43f7b2
cmp byte [0x47f216], 0
je 0x43f7b0
call fcn.004579ee
jmp 0x43f7b7
xor cl, cl
call fcn.004574ca
test al, al
je 0x43f7cc
mov eax, dword [0x47f870]
neg eax
sbb eax, eax
and eax, ebx
mov dword [ebp - 0xd0], eax
call fcn.004516e7
mov ecx, dword [ebp - 0xd0]
xor cl, bl
call fcn.00451731
jmp 0x43f8d9
xor cl, cl
jmp 0x43f5f2
call dword [sym.imp.ole32.dll_CoUninitialize]
test esi, esi
je 0x43ef60
lea ecx, [ebp - 0x74]
call fcn.00440d4a
lea ecx, [ebp - 0x8c]
call fcn.00440d4a
lea ecx, [ebp - 0xbc]
call fcn.00440d4a
mov eax, dword [ebp - 0xd0]
call fcn.00476a88
ret