Function at 0x45c1fe
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
mov bx, word [esi]
push edi
mov dword [ebp - 0x14], ecx
mov byte [ebp - 2], 0
mov byte [ebp - 1], 0
mov dword [ebp - 8], 0xffff0000
mov eax, ebx
call fcn.0040bc38
test al, al
mov edi, 0x4b0
je 0x45c23a
and dword [ebp - 8], 0
jmp 0x45c350
push 4
push esi
push 0x49cfb4
call fcn.00431867
add esp, 0xc
test al, al
je 0x45c256
mov dword [ebp - 8], edi
jmp 0x45c350
push 8
push esi
push 0x49cfa8
call fcn.00431867
add esp, 0xc
test al, al
jne 0x45c24e
push 5
pop edi
push edi
push esi
push 0x49cfa0
call fcn.00431867
add esp, 0xc
test al, al
je 0x45c28c
mov dword [ebp - 8], 0x4b1
jmp 0x45c350
push 9
push esi
push 0x49cf94
call fcn.00431867
add esp, 0xc
test al, al
jne 0x45c280
push edi
push esi
push 0x49cf8c
call fcn.00431867
add esp, 0xc
test al, al
jne 0x45c231
push 4
push esi
push 0x49cf84
call fcn.00431867
add esp, 0xc
test al, al
je 0x45c2d4
mov dword [ebp - 8], 0x3a8
jmp 0x45c350
push edi
push esi
push 0x49cf7c
call fcn.00431867
add esp, 0xc
test al, al
je 0x45c2f0
mov dword [ebp - 8], 0x3b6
jmp 0x45c350
push edi
push esi
push 0x49cf74
call fcn.00431867
add esp, 0xc
test al, al
je 0x45c30c
mov dword [ebp - 8], 0xfde9
jmp 0x45c350
push edi
push esi
push 0x49cf6c
call fcn.00431867
add esp, 0xc
test al, al
je 0x45c328
mov dword [ebp - 8], 0xfde8
jmp 0x45c350
cmp bx, 0x2d
jne 0x45c350
xor eax, eax
add esi, 2
mov ax, word [esi]
push eax
call fcn.004103b8
add esp, 4
test al, al
je 0x45c350
push esi
mov dword [ebp + 8], esi
call fcn.00436854
pop ecx
mov dword [ebp - 8], eax
lea eax, [ebp + 8]
push eax
call fcn.0040459d
push 4
lea eax, [ebp + 8]
push eax
push 0x49cf64
call fcn.00437ad0
mov bl, al
add esp, 0x10
neg bl
sbb bl, bl
push 0x4949a4
lea ecx, [ebp - 0x20]
and ebx, 2
mov byte [ebp - 0x34], bl
call fcn.004403c3
push 0x49cf50
lea ecx, [ebp - 0x10]
call fcn.004403c3
xor eax, eax
inc eax
push 0x2c
pop edi
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], eax
push edi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 8]
xor esi, esi
push eax
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x1c], esi
call fcn.004386e6
mov eax, dword [ebp - 0x20]
push eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], esi
call fcn.0040eec0
add esp, 0x10
push eax
lea ecx, [ebp - 0x20]
call fcn.0044042b
lea ecx, [ebp - 0x2c]
call fcn.0043092f
mov esi, dword [ebp - 0x20]
push esi
push 0x49cf4c
call fcn.004318e1
test al, al
pop ecx
pop ecx
je 0x45c449
mov dword [ebp - 0x1c], 1
mov byte [ebp - 2], 1
mov esi, dword [ebp + 8]
and dword [ebp - 0x2c], 0
cmp word [esi], di
jne 0x45c503
lea ecx, [ebp - 0x28]
call fcn.00435d62
push edi
lea eax, [ebp - 0x28]
push eax
inc esi
lea eax, [ebp + 8]
inc esi
push eax
mov dword [ebp + 8], esi
call fcn.004386e6
mov esi, dword [ebp - 0x28]
push esi
push 0x49cf48
mov dword [ebp - 0x24], esi
call fcn.004318e1
add esp, 0x14
test al, al
je 0x45c47a
mov byte [ebp - 1], 2
mov dword [ebp - 0x2c], 0x49cf44
jmp 0x45c4da
cmp word [esi], 0
je 0x45c3f2
push esi
push 0x495888
call fcn.004318e1
test al, al
pop ecx
pop ecx
jne 0x45c3f2
push esi
push 0x4950b8
call fcn.004318e1
test al, al
pop ecx
pop ecx
je 0x45c3f6
mov byte [ebp - 2], 2
jmp 0x45c3f6
push esi
push 0x49cf40
call fcn.004318e1
test al, al
pop ecx
pop ecx
je 0x45c491
mov byte [ebp - 1], 3
jmp 0x45c4da
push esi
push 0x49bd48
call fcn.004318e1
test al, al
pop ecx
pop ecx
je 0x45c4af
mov byte [ebp - 1], 1
mov dword [ebp - 0x2c], 0x49cf3c
jmp 0x45c4da
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00438b8e
mov eax, dword [ebp - 0x24]
cmp word [eax], 0x2b
pop ecx
pop ecx
jne 0x45c4da
add dword [ebp - 0x24], 2
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00438b8e
pop ecx
pop ecx
lea ecx, [ebp - 0x28]
call fcn.0043092f
mov esi, dword [ebp + 8]
cmp word [esi], di
jne 0x45c503
push edi
lea eax, [ebp - 0x10]
push eax
inc esi
lea eax, [ebp + 8]
inc esi
push eax
mov dword [ebp + 8], esi
call fcn.004386e6
mov esi, dword [ebp + 8]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
push 0
lea eax, [ebp - 0x10]
push eax
call fcn.00402c4d
push 8
lea ecx, [ebp - 0xc]
call fcn.00435c56
mov eax, dword [ebp - 0xc]
and word [eax], 0
xor edi, edi
inc edi
cmp dword [ebp - 8], 0
mov dword [ebp - 0x28], eax
jl 0x45cd4b
lea ecx, [ebp - 0x58]
call fcn.00435c39
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
cmp word [eax], 0x75
jne 0x45c6be
cmp word [eax + 2], 0x64
jne 0x45c6be
cmp word [eax + 4], 0x3a
jne 0x45c6be
push 0x22
add eax, 6
pop ebx
mov word [esi], di
cmp word [eax], bx
mov dword [ebp - 0x28], eax
jne 0x45c57b
inc eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], eax
push 0x3a
lea eax, [ebp - 0x28]
call fcn.004754d0
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x2c]
pop ecx
je 0x45c59b
cmp word [eax - 2], bx
jne 0x45c59b
mov word [eax - 2], di
cmp word [eax], 0x3a
jne 0x45c5a6
mov word [eax], di
inc eax
inc eax
cmp word [eax], bx
mov ecx, eax
jne 0x45c5bf
lea ecx, [eax + 2]
inc eax
inc eax
cmp word [eax], bx
jne 0x45c5ba
mov word [eax], di
cmp word [eax], di
jne 0x45c5b0
push edi
push edi
push 0x10000
push ecx
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x2c]
call fcn.0042eced
mov eax, dword [ebp - 0x54]
add esp, 0x18
cmp eax, edi
jle 0x45c5e9
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x58]
lea esi, [ecx + edx]
mov dword [ebp + 8], esi
movsx ecx, byte [esi]
xor ebx, ebx
cmp ecx, 0xff
mov edi, 0xfe
jne 0x45c60c
movsx edx, byte [esi + 1]
cmp edx, edi
jne 0x45c60c
mov dword [ebp - 8], 0x4b0
jmp 0x45c623
cmp ecx, edi
jne 0x45c627
movsx edx, byte [esi + 1]
cmp edx, 0xff
jne 0x45c627
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x45c650
cmp ecx, 0xef
jne 0x45c651
movsx ecx, byte [esi + 1]
cmp ecx, 0xbb
jne 0x45c651
movsx ecx, byte [esi + 2]
cmp ecx, 0xbf
jne 0x45c651
mov dword [ebp - 8], 0xfde9
push 3
pop ebx
sub eax, ebx
add ebx, esi
cmp dword [ebp - 8], 0x4b1
mov edi, eax
jne 0x45c681
and edi, 0xfffffffe
add edi, ebx
cmp ebx, edi
mov eax, ebx
ja 0x45c6f8
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov byte [eax], dl
mov byte [eax + 1], cl
inc eax
inc eax
cmp eax, edi
jbe 0x45c66f
jmp 0x45c6f8
cmp dword [ebp - 8], 0x4b0
je 0x45c6f8
mov eax, dword [ebp - 0x58]
and dword [ebp - 0x58], 0
mov dword [ebp - 0x34], eax
lea eax, [edi + edi + 0x20]
push eax
lea ecx, [ebp - 0x58]
call fcn.00435c7d
push dword [ebp - 8]
lea ecx, [ebp - 0x58]
push edi
push ebx
call fcn.00435e1f
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x34]
mov dword [ebp + 8], esi
call fcn.0043092f
jmp 0x45c6f8
mov eax, dword [ebp - 0x10]
cmp word [eax], di
jne 0x45c6d3
lea ecx, [ebp - 0x58]
call fcn.0043092f
jmp 0x45cd59
cmp byte [ebp - 2], 1
jne 0x45c6e9
cmp word [esi], 0x2c
je 0x45c6e9
mov edi, 0x80070057
jmp 0x45cd43
inc esi
inc esi
test byte [ebp - 2], 1
mov dword [ebp + 8], esi
je 0x45c944
xor ebx, ebx
cmp dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], ebx
je 0x45c74b
lea eax, [ebp + 8]
push eax
call fcn.00430961
mov edi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
call fcn.00404579
mov esi, dword [ebp + 8]
cmp word [esi], bx
pop ecx
pop ecx
je 0x45c724
mov word [esi], bx
cmp word [edi], bx
je 0x45c74b
mov ecx, dword [ebp - 0x14]
push 0xffffffffffffffff
push ebx
push edi
call fcn.0041083d
cmp eax, ebx
je 0x45c74b
push 0xffffffffffffffff
push dword [eax]
lea ecx, [ebp - 0x24]
call fcn.00435e88
mov esi, dword [ebp - 0x24]
mov dword [ebp + 8], esi
cmp byte [ebp - 1], 3
mov ebx, esi
jne 0x45c759
push esi
jmp 0x45c87c
cmp byte [ebp - 1], 0
je 0x45c7f7
cmp byte [ebp - 1], 1
mov dword [ebp - 0x28], 0x4977c8
je 0x45c777
mov dword [ebp - 0x28], 0x494d34
lea ecx, [ebp + 8]
call fcn.00435d62
mov edi, esi
xor ebx, ebx
jmp 0x45c7c7
cmp ax, 0xd
jne 0x45c79b
lea eax, [esi + 2]
cmp word [eax], 0xa
jne 0x45c7a1
mov word [esi], bx
mov esi, eax
jmp 0x45c7a4
cmp ax, 0xa
jne 0x45c7c5
mov word [esi], bx
cmp byte [ebp - 1], 0
jne 0x45c7b5
push dword [ebp - 0x28]
lea ecx, [ebp + 8]
call fcn.00435dd0
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 1], 0
call fcn.00435dd0
lea edi, [esi + 2]
inc esi
inc esi
mov ax, word [esi]
cmp ax, bx
jne 0x45c785
cmp word [edi], bx
je 0x45c917
cmp byte [ebp - 1], 0
jne 0x45c7e9
push dword [ebp - 0x28]
lea ecx, [ebp + 8]
call fcn.00435dd0
push edi
lea ecx, [ebp + 8]
call fcn.00435dd0
jmp 0x45c917
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jge 0x45c846
mov ax, word [esi]
xor edi, edi
test ax, ax
je 0x45c825
cmp ax, 0xa
jne 0x45c80f
inc edi
inc esi
inc esi
mov ax, word [esi]
test ax, ax
jne 0x45c808
cmp esi, ebx
jbe 0x45c825
cmp word [esi - 2], 0xa
je 0x45c825
inc edi
push 0x20
lea ecx, [ebp + 8]
call fcn.00435d80
push edi
push 0x494e3c
push dword [ebp + 8]
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0xc
jmp 0x45c917
jne 0x45c8be
mov cx, word [esi]
test cx, cx
push 0xa
mov eax, esi
mov edx, esi
pop edi
je 0x45c89b
cmp cx, di
jne 0x45c860
mov edx, eax
mov eax, esi
inc esi
inc esi
mov cx, word [esi]
test cx, cx
jne 0x45c857
cmp esi, ebx
jbe 0x45c88c
cmp word [esi - 2], di
je 0x45c88c
cmp word [eax], di
jne 0x45c87b
inc eax
inc eax
push eax
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
call fcn.00435749
jmp 0x45c92d
cmp eax, ebx
jbe 0x45c89b
lea ecx, [eax - 2]
cmp word [ecx], 0xd
jne 0x45c89b
mov eax, ecx
cmp word [edx], di
jne 0x45c8a2
inc edx
inc edx
sub eax, edx
sar eax, 1
push eax
push edx
jmp 0x45c90f
mov ax, word [esi]
test ax, ax
je 0x45c8c3
cmp ax, 0xa
jne 0x45c8b9
dec ecx
inc esi
inc esi
mov dword [ebp + 8], esi
cmp ecx, 1
jg 0x45c8aa
mov edi, dword [ebp - 0x18]
mov ebx, esi
jmp 0x45c8fe
test edi, edi
je 0x45c8d3
dec dword [ebp - 0x18]
js 0x45c909
lea eax, [ebp + 8]
call fcn.00435a49
test edi, edi
je 0x45c8e5
cmp dword [ebp - 0x18], 0
je 0x45c906
mov esi, dword [ebp + 8]
cmp word [esi], 0xd
jne 0x45c8f3
inc esi
inc esi
mov dword [ebp + 8], esi
cmp word [esi], 0xa
jne 0x45c8fe
inc esi
inc esi
mov dword [ebp + 8], esi
cmp word [esi], 0
jne 0x45c8ca
jmp 0x45c909
mov esi, dword [ebp + 8]
sub esi, ebx
sar esi, 1
push esi
push ebx
lea ecx, [ebp + 8]
call fcn.004403e0
push dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.00435749
lea ecx, [ebp + 8]
call fcn.0043092f
lea ecx, [ebp - 0x24]
call fcn.0043092f
lea ecx, [ebp - 0x58]
call fcn.0043092f
xor edi, edi
jmp 0x45cd59
push 8
lea ecx, [ebp - 0x24]
call fcn.00435c56
mov eax, dword [ebp - 0xc]
and word [eax], 0
and dword [ebp + 8], 0
xor eax, eax
cmp byte [ebp - 2], 2
lea edi, [ebp - 0x48]
stosd dword es:[edi], eax
mov eax, dword [0x4ab2e0]
mov dword [ebp - 0x4c], eax
jne 0x45ca09
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x1c], eax
push 0
mov dword [ebp - 0x28], 0x186a0
call dword [sym.imp.KERNEL32.DLL_SetLastError]
cmp byte [ebp - 1], 3
jne 0x45cafc
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x38], eax
mov esi, 0x40000
lea eax, [edi + 0x40001]
push eax
lea ecx, [ebp - 0x18]
call fcn.00435c7d
mov ebx, dword [ebp - 0x18]
and dword [ebp - 0x1c], 0
push 0
lea eax, [ebp - 0x1c]
push eax
push esi
lea eax, [edi + ebx]
push eax
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp dword [ebp - 0x1c], esi
jbe 0x45c9d4
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], 0
jne 0x45ca00
test eax, eax
jne 0x45cac9
cmp byte [ebp - 2], 2
jne 0x45c9f7
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x45cac9
dec dword [ebp - 0x28]
js 0x45cac9
add edi, dword [ebp - 0x1c]
mov byte [edi + ebx], 0
jmp 0x45c9a2
xor esi, esi
push esi
push esi
push 3
push esi
push 7
lea eax, [ebp + 8]
push 0x80000000
push dword [ebp - 0x20]
mov ecx, eax
mov dword [ebp - 0x1c], eax
call fcn.004045f9
cmp dword [ebp + 8], esi
je 0x45cabc
xor eax, eax
and dword [ebp - 0x38], eax
push eax
mov byte [ebp - 0x44], 0
mov byte [ebp - 0x43], 0
mov byte [ebp - 0x42], 0
lea edi, [ebp - 0x41]
stosw word es:[edi], ax
lea eax, [ebp - 0x38]
push eax
push 3
lea eax, [ebp - 0x44]
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp byte [ebp - 0x44], 0xff
jne 0x45ca6f
cmp byte [ebp - 0x43], 0xfe
jne 0x45caa2
mov dword [ebp - 8], 0x4b0
jmp 0x45ca82
cmp byte [ebp - 0x44], 0xfe
jne 0x45ca86
cmp byte [ebp - 0x43], 0xff
jne 0x45caa2
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x45caa1
cmp byte [ebp - 0x44], 0xef
jne 0x45caa2
cmp byte [ebp - 0x43], 0xbb
jne 0x45caa2
cmp byte [ebp - 0x42], 0xbf
jne 0x45caa2
mov dword [ebp - 8], 0xfde9
push 3
pop esi
mov eax, esi
cdq
push 0
push edx
push eax
push dword [ebp + 8]
call fcn.0043181b
add esp, 0x10
test eax, eax
jge 0x45c977
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov edi, eax
jmp 0x45cd33
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x18]
call fcn.0043c985
mov ecx, dword [ebp - 0x14]
push eax
push dword [ebp - 0x10]
call fcn.00435749
mov ecx, esi
call fcn.0043092f
lea ecx, [ebp + 8]
call fcn.00402b27
lea ecx, [ebp - 0x24]
call fcn.0043092f
jmp 0x45c935
cmp byte [ebp - 1], 0
je 0x45cb94
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x45cb12
mov eax, 0x4958ae
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x30]
call fcn.004403f9
or ebx, 1
lea ecx, [ebp - 0x18]
call fcn.00435d62
cmp byte [ebp - 1], 0
jne 0x45cb39
push dword [ebp - 0x30]
lea ecx, [ebp - 0xc]
call fcn.00435dd0
push ebx
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x1c]
mov byte [ebp - 1], 0
call fcn.0043c6be
add esp, 0x10
cmp byte [ebp - 2], 2
mov edi, eax
jne 0x45cb63
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x45cb84
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x18]
call fcn.0043c985
push eax
lea ecx, [ebp - 0xc]
call fcn.00435dd0
mov ecx, esi
call fcn.0043092f
test edi, edi
je 0x45cb8c
jmp 0x45cb20
lea ecx, [ebp - 0x18]
call fcn.0043092f
lea ecx, [ebp - 0x30]
jmp 0x45cd17
mov edi, dword [ebp - 0x30]
test edi, edi
jge 0x45cbf4
xor edi, edi
push dword [ebp - 0x34]
lea eax, [ebp - 0xc]
push dword [ebp - 8]
push eax
push dword [ebp - 0x1c]
call fcn.0043c6be
add esp, 0x10
cmp byte [ebp - 2], 2
mov esi, eax
jne 0x45cbc5
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x45cbcc
test esi, esi
je 0x45cbcc
inc edi
jmp 0x45cb9d
push 0x20
lea ecx, [ebp - 0xc]
mov dword [ebp - 8], 0x4b0
call fcn.00435c7d
push edi
push 0x494e3c
push dword [ebp - 0xc]
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0xc
jmp 0x45cd23
jne 0x45cc38
or ebx, 1
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
push ebx
push dword [ebp - 8]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x1c]
mov dword [ebp - 0xc], ecx
call fcn.0043c6be
add esp, 0x10
cmp byte [ebp - 2], 2
mov esi, eax
jne 0x45cc2f
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x45cd23
test esi, esi
jne 0x45cbf9
jmp 0x45cd23
xor eax, eax
inc eax
cmp edi, eax
mov dword [ebp - 0x30], eax
jle 0x45cc76
push dword [ebp - 0x34]
lea eax, [ebp - 0xc]
push dword [ebp - 8]
push eax
push dword [ebp - 0x1c]
call fcn.0043c6be
add esp, 0x10
cmp byte [ebp - 2], 2
mov esi, eax
jne 0x45cc6a
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x45cc76
test esi, esi
je 0x45cc76
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jl 0x45cc42
mov edi, dword [ebp - 0x18]
cmp edi, 1
mov eax, dword [ebp - 0xc]
mov byte [eax], 0
jne 0x45cc9e
or ebx, edi
push ebx
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x1c]
call fcn.0043c6be
add esp, 0x10
jmp 0x45cd23
lea ecx, [ebp - 0x28]
call fcn.00435d62
test edi, edi
je 0x45ccaf
dec dword [ebp - 0x18]
js 0x45cd14
mov eax, dword [ebp - 0x28]
and word [eax], 0
xor eax, eax
mov al, bl
or eax, 1
push eax
push dword [ebp - 8]
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x1c]
call fcn.0043c6be
add esp, 0x10
cmp byte [ebp - 2], 2
mov esi, eax
jne 0x45cce3
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x45cd14
test esi, esi
je 0x45cd14
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x28]
call fcn.0043c985
push eax
lea ecx, [ebp - 0xc]
call fcn.00435dd0
test edi, edi
je 0x45cd05
cmp dword [ebp - 0x18], 0
jle 0x45cd14
push 0x494d34
lea ecx, [ebp - 0xc]
call fcn.00435dd0
jmp 0x45cca6
lea ecx, [ebp - 0x28]
mov dword [ebp - 8], 0x4b0
call fcn.0043092f
mov eax, dword [ebp - 8]
lea esi, [ebp - 0xc]
call fcn.0043c985
mov dword [ebp - 0x28], eax
xor edi, edi
lea ecx, [ebp + 8]
call fcn.00402b27
lea ecx, [ebp - 0x24]
call fcn.0043092f
lea ecx, [ebp - 0x58]
call fcn.0043092f
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.00435749
lea ecx, [ebp - 0xc]
call fcn.0043092f
lea ecx, [ebp - 0x3c]
call fcn.00402b27
lea ecx, [ebp - 0x10]
call fcn.0043092f
lea ecx, [ebp - 0x20]
call fcn.0043092f
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 8