Function at 0x44a77e
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
push ebx
push esi
push edi
mov dword [ebp - 0x28], ecx
push ecx
lea ecx, [ebp - 0x64]
call fcn.00425dc3
lea ecx, [ebp + 8]
call fcn.00429ef2
lea ecx, [ebp - 0x24]
call fcn.0042460b
lea ecx, [ebp - 0x2c]
call fcn.0042460b
lea ecx, [ebp - 0x54]
call fcn.0042460b
lea ecx, [ebp - 0x14]
call fcn.0042460b
mov eax, dword [ebp + 8]
push 1
mov dword [ebp - 0x1c], eax
push 0x2c
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00443613
push 0
lea ecx, [ebp - 0x24]
push ecx
push eax
call fcn.0042df66
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov ax, word [ecx]
add esp, 0xc
xor esi, esi
test ax, ax
mov byte [ebp - 2], 0
mov byte [ebp - 5], 0
mov edx, ecx
je 0x44a81a
call fcn.004213da
test al, al
je 0x44a804
mov esi, edx
inc edx
inc edx
mov ax, word [edx]
test ax, ax
jne 0x44a7f9
test esi, esi
je 0x44a81a
and word [esi], ax
mov ecx, dword [ebp - 0x24]
inc esi
inc esi
test esi, esi
mov eax, ecx
mov dword [ebp + 8], eax
je 0x44a880
cmp word [ecx], 0x2a
jne 0x44a880
cmp word [eax + 2], 0x2d
je 0x44a880
push 6
lea eax, [ebp + 8]
push eax
push str.nobom
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x44a84d
mov byte [ebp - 5], 1
jmp 0x44a874
push 0xa
lea eax, [ebp + 8]
push eax
push str.transonly
call fcn.0042c9b5
add esp, 0xc
test al, al
je 0x44a86a
mov byte [ebp - 2], 1
jmp 0x44a874
lea eax, [ebp + 8]
push eax
call fcn.00403977
pop ecx
mov eax, dword [ebp + 8]
cmp word [eax], 0x2a
mov ecx, dword [ebp - 0x24]
je 0x44a829
xor ebx, ebx
cmp esi, ebx
mov byte [ebp - 4], 0
mov byte [ebp - 7], 0
mov byte [ebp - 6], 0
mov byte [ebp + 0xb], 0
mov byte [ebp - 8], 0
mov byte [ebp - 3], 0
je 0x44a8be
push esi
lea ecx, [ebp - 0x4c]
call fcn.0042a183
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], eax
call fcn.00424686
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
push 0x2c
pop esi
cmp word [edx], si
lea eax, [edx + 2]
mov dword [ebp - 0x58], eax
jne 0x44a8f2
push 1
mov dword [ebp - 0x1c], eax
push esi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00443613
push ebx
lea ecx, [ebp - 0x2c]
push ecx
push eax
call fcn.0042e020
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, dword [ebp - 0x1c]
cmp word [eax], si
jne 0x44a91e
add dword [ebp - 0x1c], 2
push 1
push esi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00443613
push ebx
lea ecx, [ebp - 0x54]
push ecx
push eax
call fcn.0042df66
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, dword [ebp - 0x1c]
cmp word [eax], si
jne 0x44a94a
add dword [ebp - 0x1c], 2
push 1
push esi
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00443613
push ebx
lea ecx, [ebp - 0x14]
push ecx
push eax
call fcn.0042df66
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov ax, word [ecx]
cmp ax, bx
je 0x44b095
mov edx, dword [ebp - 0x2c]
cmp word [edx], bx
je 0x44b095
mov edi, dword [ebp - 0x54]
cmp word [edi], bx
je 0x44b095
mov edx, dword [ebp - 0x14]
cmp word [edx], bx
je 0x44b095
cmp ax, 0x2a
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], edi
mov esi, ecx
mov byte [ebp - 1], 0
jne 0x44a9c2
cmp word [ecx + 2], ax
jne 0x44a9b2
mov byte [ebp - 4], al
mov byte [ebp - 6], al
lea esi, [ecx + 4]
jmp 0x44a9c5
cmp ax, 0x2a
jne 0x44a9c2
mov al, byte [ecx]
mov byte [ebp - 4], al
lea esi, [ecx + 2]
jmp 0x44a9c5
mov al, byte [ebp - 7]
cmp word [esi], 0x2d
jne 0x44a9cf
mov al, byte [esi]
inc esi
inc esi
test al, al
jne 0x44a9dd
mov esi, 0x80070057
jmp 0x44b098
push esi
push 0x47c080
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44a9f7
mov byte [ebp - 1], 1
jmp 0x44ab0a
push esi
push str.ANSI
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44aa10
mov dword [ebp - 0x20], ebx
jmp 0x44ab0a
push esi
push 0x47c074
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44aa2d
mov dword [ebp - 0x20], 0x3a8
jmp 0x44ab0a
push esi
push str.BIG5
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44aa4a
mov dword [ebp - 0x20], 0x3b6
jmp 0x44ab0a
push esi
push str.UTF8
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44aa67
mov dword [ebp - 0x20], 0xfde9
jmp 0x44ab0a
push esi
push str.UTF7
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44aa84
mov dword [ebp - 0x20], 0xfde8
jmp 0x44ab0a
push esi
push str.UNICODE
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44aa9e
mov dword [ebp - 0x18], 0x4b0
jmp 0x44ab0a
push esi
push 0x47c050
call fcn.004257d3
test al, al
pop ecx
pop ecx
jne 0x44aa95
push esi
push str.UNICODEB
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44aac9
mov dword [ebp - 0x18], 0x4b1
jmp 0x44ab0a
push esi
push str.UNIB
call fcn.004257d3
test al, al
pop ecx
pop ecx
jne 0x44aac0
xor ecx, ecx
mov cx, word [esi]
push ecx
call fcn.0040e5a7
add esp, 4
test al, al
je 0x44aaf8
push esi
call fcn.0042a78d
pop ecx
mov dword [ebp - 0x20], eax
jmp 0x44ab0a
cmp cx, bx
jne 0x44a9d3
xor eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x4c], eax
mov ax, word [edi]
cmp ax, 0x2a
jne 0x44ab36
cmp word [edi + 2], ax
jne 0x44ab21
mov byte [ebp - 3], al
add edi, 4
jmp 0x44ab2c
cmp ax, 0x2a
jne 0x44ab36
mov al, byte [edi]
add edi, 2
mov byte [ebp + 0xb], al
mov cl, al
mov dword [ebp - 0x1c], edi
jmp 0x44ab3c
mov cl, byte [ebp - 8]
mov edi, dword [ebp - 0x1c]
cmp word [edi], 0x2d
jne 0x44ab49
mov cl, byte [edi]
inc edi
inc edi
mov dword [ebp - 0x1c], edi
test cl, cl
je 0x44a9d3
push dword [ebp - 0x1c]
push str.ANSI
call fcn.004257d3
test al, al
pop ecx
pop ecx
mov esi, 0x479240
mov edi, 0x479244
je 0x44ab76
mov dword [ebp - 0x30], ebx
jmp 0x44ac9a
push dword [ebp - 0x1c]
push 0x47c074
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44ab95
mov dword [ebp - 0x30], 0x3a8
jmp 0x44ac9a
push dword [ebp - 0x1c]
push str.BIG5
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44abb4
mov dword [ebp - 0x30], 0x3b6
jmp 0x44ac9a
push dword [ebp - 0x1c]
push str.UTF8
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44abe1
mov dword [ebp - 0x30], 0xfde9
mov dword [ebp - 0x34], 0x479248
mov dword [ebp - 0x40], 3
jmp 0x44ac9a
push dword [ebp - 0x1c]
push str.UTF7
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44ac00
mov dword [ebp - 0x30], 0xfde8
jmp 0x44ac9a
push dword [ebp - 0x1c]
push str.UNICODE
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44ac26
mov dword [ebp - 0x38], 0x4b0
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x40], 2
jmp 0x44ac9a
push dword [ebp - 0x1c]
push 0x47c050
call fcn.004257d3
test al, al
pop ecx
pop ecx
jne 0x44ac13
mov esi, dword [ebp - 0x1c]
push esi
push str.UNICODEB
call fcn.004257d3
test al, al
pop ecx
pop ecx
jne 0x44ac5e
push esi
push str.UNIB
call fcn.004257d3
test al, al
pop ecx
pop ecx
je 0x44ac6a
mov dword [ebp - 0x38], 0x4b1
mov dword [ebp - 0x34], edi
jmp 0x44ac1d
xor ecx, ecx
mov cx, word [esi]
push ecx
call fcn.0040e5a7
add esp, 4
test al, al
je 0x44ac88
push esi
call fcn.0042a78d
pop ecx
mov dword [ebp - 0x30], eax
jmp 0x44ac9a
cmp cx, bx
jne 0x44a9d3
xor eax, eax
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x48], eax
cmp byte [ebp - 5], 0
je 0x44aca3
mov dword [ebp - 0x34], ebx
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x10], ebx
call fcn.00424559
xor esi, esi
cmp byte [ebp - 4], 0
mov byte [ebp - 5], 0
jne 0x44ae4b
mov eax, dword [ebp - 0x58]
push 1
mov dword [ebp - 0x1c], eax
push 0x2c
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x3c], ebx
call fcn.00443613
push ebx
lea ecx, [ebp - 0x2c]
push ecx
push eax
call fcn.0042df66
push dword [ebp - 0x2c]
call fcn.00412d51
add esp, 0x10
push ebx
push 0x80
push 3
push ebx
push 7
push 0x80000000
push eax
lea ecx, [ebp - 0x3c]
call fcn.00403993
mov esi, dword [ebp - 0x3c]
cmp esi, ebx
jne 0x44ad1a
lea ecx, [ebp - 0x3c]
call fcn.00402905
jmp 0x44b085
push 2
push ebx
push ebx
push esi
call fcn.0042572e
push 1
push ebx
push ebx
push esi
call fcn.0042572e
push ebx
push ebx
push ebx
push esi
mov edi, eax
call fcn.0042572e
add esp, 0x30
lea eax, [edi + 0xa]
push eax
lea ecx, [ebp - 0xc]
call fcn.0042459d
mov eax, dword [ebp - 0xc]
mov byte [eax + 2], 0
mov eax, dword [ebp - 0xc]
mov byte [eax + 1], 0
mov eax, dword [ebp - 0xc]
push ebx
lea ecx, [ebp - 0x58]
push ecx
mov byte [eax], 0
mov eax, dword [ebp - 0xc]
or dword [ebp - 0x58], 0xffffffff
push edi
push eax
push esi
mov dword [ebp - 0x44], eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov esi, dword [ebp - 0x58]
cmp esi, ebx
jl 0x44ad0d
mov eax, dword [ebp - 0xc]
mov byte [esi + eax + 2], 0
mov eax, dword [ebp - 0xc]
mov byte [esi + eax + 1], 0
mov eax, dword [ebp - 0xc]
xor ebx, ebx
cmp byte [ebp - 1], bl
mov byte [esi + eax], 0
jne 0x44ada2
cmp dword [ebp - 0x18], 0x4b0
jne 0x44adc7
push 2
push 0x479240
push dword [ebp - 0x44]
call fcn.00461880
add esp, 0xc
test eax, eax
jne 0x44adc1
mov dword [ebp - 0x18], 0x4b0
jmp 0x44aded
cmp byte [ebp - 1], 0
jne 0x44add0
cmp dword [ebp - 0x18], 0x4b1
jne 0x44adf7
push 2
push 0x479244
push dword [ebp - 0x44]
call fcn.00461880
add esp, 0xc
test eax, eax
jne 0x44adf1
mov dword [ebp - 0x18], 0x4b1
push 2
jmp 0x44ae1f
cmp byte [ebp - 1], 0
jne 0x44ae00
cmp dword [ebp - 0x20], 0xfde9
jne 0x44ae36
push 3
push 0x479248
push dword [ebp - 0x44]
call fcn.00461880
add esp, 0xc
test eax, eax
jne 0x44ae36
mov dword [ebp - 0x20], 0xfde9
push 3
mov eax, dword [ebp - 0x44]
pop ebx
sub edi, ebx
add edi, 3
push edi
lea ecx, [ebx + eax]
push ecx
push eax
call fcn.00461d90
add esp, 0xc
sub esi, ebx
jns 0x44ae3c
xor esi, esi
lea ecx, [ebp - 0x3c]
call fcn.00402905
xor ebx, ebx
jmp 0x44aef1
cmp byte [ebp - 6], 0
je 0x44aeb0
mov ecx, dword [ebp - 0x28]
push ebx
lea eax, [ebp - 0x2c]
push eax
call fcn.00402996
mov ecx, dword [ebp - 0x28]
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x2c]
call fcn.0040a6dc
mov edi, eax
cmp edi, ebx
lea ecx, [ebp - 0xc]
je 0x44ae96
mov esi, dword [edi + 8]
lea eax, [esi + 8]
push eax
call fcn.0042459d
push esi
push dword [edi + 4]
push dword [ebp - 0xc]
call fcn.00461a50
add esp, 0xc
mov byte [ebp - 5], 1
jmp 0x44ae9d
push 8
call fcn.0042459d
mov eax, dword [ebp - 0xc]
push 8
add eax, esi
push ebx
push eax
call fcn.00461780
add esp, 0xc
jmp 0x44aef1
cmp dword [ebp - 0x4c], ebx
je 0x44aedd
push 0xffffffffffffffff
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xc]
call fcn.00409ba0
push dword [ebp - 0x2c]
call fcn.0046176a
mov esi, eax
shl esi, 1
pop ecx
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xc]
call fcn.0042459d
jmp 0x44aeed
push dword [ebp - 0x2c]
lea eax, [ebp - 0xc]
push eax
call fcn.0042ed7a
pop ecx
pop ecx
mov esi, eax
mov byte [ebp - 5], 2
cmp esi, ebx
jl 0x44b085
cmp byte [ebp - 1], 0
je 0x44af83
cmp byte [ebp - 5], 0
je 0x44af83
mov ebx, dword [ebp - 0xc]
push 2
push 0x479240
push ebx
xor edi, edi
call fcn.00461880
add esp, 0xc
test eax, eax
push 2
jne 0x44af2d
mov dword [ebp - 0x18], 0x4b0
jmp 0x44af67
push 0x479244
push ebx
call fcn.00461880
add esp, 0xc
test eax, eax
jne 0x44af4a
mov dword [ebp - 0x18], 0x4b1
push 2
jmp 0x44af67
push 3
push 0x479248
push ebx
call fcn.00461880
add esp, 0xc
test eax, eax
jne 0x44af7d
mov dword [ebp - 0x20], 0xfde9
push 3
pop edi
mov eax, esi
sub eax, edi
add eax, 4
push eax
lea eax, [ebx + edi]
push eax
push ebx
call fcn.00461d90
add esp, 0xc
sub esi, edi
jns 0x44af83
xor esi, esi
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x50], eax
call fcn.0042460b
mov edi, dword [ebp - 0x30]
cmp edi, dword [ebp - 0x20]
jne 0x44b030
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x18]
jne 0x44b030
cmp byte [ebp - 3], 0
je 0x44afcc
push 0
lea eax, [ebp - 0x14]
push eax
push esi
push dword [ebp - 0xc]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
call fcn.0042e908
add esp, 0x18
jmp 0x44b014
cmp byte [ebp + 0xb], 0
jne 0x44afe0
push esi
push dword [ebp - 0xc]
lea ecx, [ebp - 0x10]
call fcn.0042443b
jmp 0x44b014
cmp dword [ebp - 0x48], 0
jne 0x44affb
push esi
push dword [ebp - 0xc]
lea eax, [ebp - 0x1c]
push eax
call fcn.0042721a
add esp, 0xc
push dword [ebp - 0x1c]
jmp 0x44b009
cmp dword [ebp - 0x4c], 0
je 0x44b006
push dword [ebp - 0x2c]
jmp 0x44b009
push dword [ebp - 0x50]
push dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
call fcn.00428e1b
lea ecx, [ebp - 0x1c]
call fcn.00424686
lea ecx, [ebp - 0xc]
call fcn.00424686
lea ecx, [ebp - 0x10]
call fcn.00402905
xor esi, esi
jmp 0x44b098
cmp dword [ebp - 0x18], 0x4b1
jne 0x44b04e
push esi
push dword [ebp - 0xc]
mov dword [ebp - 0x18], 0x4b0
call fcn.00427eb6
pop ecx
pop ecx
and esi, 0xfffffffe
cmp byte [ebp + 0xb], 0
jne 0x44b0c9
push dword [ebp - 0x14]
call fcn.00412d51
pop ecx
xor ebx, ebx
push ebx
push 0x80
push 4
push ebx
push 7
push 0x40000000
push eax
lea ecx, [ebp - 0x10]
call fcn.00403993
cmp dword [ebp - 0x10], ebx
jne 0x44b0cb
lea ecx, [ebp - 0x1c]
call fcn.00424686
lea ecx, [ebp - 0xc]
call fcn.00424686
lea ecx, [ebp - 0x10]
call fcn.00402905
xor esi, esi
inc esi
lea ecx, [ebp - 0x14]
call fcn.00424686
lea ecx, [ebp - 0x54]
call fcn.00424686
lea ecx, [ebp - 0x2c]
call fcn.00424686
lea ecx, [ebp - 0x24]
call fcn.00424686
lea ecx, [ebp - 0x64]
call fcn.00424686
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8
xor ebx, ebx
mov eax, 0x3a8
cmp edi, eax
mov dword [ebp - 0x4c], ebx
mov edi, 0x3b6
jne 0x44b0e1
cmp dword [ebp - 0x20], edi
je 0x44b0eb
cmp dword [ebp - 0x20], eax
jne 0x44b15e
cmp dword [ebp - 0x30], edi
jne 0x44b15e
cmp byte [ebp - 2], 0
je 0x44b0f5
mov byte [ebp - 2], 3
lea ecx, [ebp - 0x44]
call fcn.00424559
xor eax, eax
cmp dword [ebp - 0x30], edi
sete al
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0xc]
call fcn.004272a1
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0xc]
push ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x44], eax
call fcn.004617f0
mov esi, eax
mov eax, dword [ebp - 0xc]
add esp, 0x10
cmp byte [ebp - 2], 3
mov dword [ebp - 0x3c], eax
jne 0x44b156
cmp byte [ebp + 0xb], 0
jne 0x44b156
cmp esi, ebx
jle 0x44b149
push esi
push eax
lea ecx, [ebp - 0x10]
call fcn.0042443b
lea ecx, [ebp - 0x44]
call fcn.00424686
jmp 0x44b2f0
lea ecx, [ebp - 0x44]
call fcn.00424686
mov edi, esi
shr edi, 1
cmp dword [ebp - 0x18], ebx
jne 0x44b1a2
lea edi, [esi + 0xa]
lea eax, [edi + 0xa]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00424699
mov ebx, dword [ebp - 0x1c]
push edi
push ebx
push esi
push dword [ebp - 0xc]
push 0
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test edi, edi
jge 0x44b192
xor edi, edi
lea esi, [edi + edi]
and word [ebx + esi], 0
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x50], ebx
xor ebx, ebx
cmp dword [ebp - 0x38], 0x4b1
jne 0x44b1b6
push esi
push dword [ebp - 0x3c]
call fcn.00427eb6
pop ecx
pop ecx
cmp dword [ebp - 0x38], ebx
jle 0x44b243
cmp byte [ebp - 3], 0
je 0x44b1e1
push ebx
lea eax, [ebp - 0x14]
push eax
push esi
push dword [ebp - 0x3c]
push dword [ebp - 0x14]
push dword [ebp - 0x28]
call fcn.0042e908
add esp, 0x18
jmp 0x44b2fe
cmp byte [ebp + 0xb], 0
jne 0x44b20b
cmp esi, ebx
jle 0x44b2f0
cmp dword [ebp - 0x34], ebx
je 0x44b202
push dword [ebp - 0x40]
lea ecx, [ebp - 0x10]
push dword [ebp - 0x34]
call fcn.0042443b
push esi
push dword [ebp - 0x3c]
jmp 0x44b2a5
cmp dword [ebp - 0x48], ebx
jne 0x44b248
lea ecx, [ebp + 8]
call fcn.0042460b
push edi
push dword [ebp - 0x3c]
lea eax, [ebp + 8]
push eax
call fcn.0042727b
mov ecx, dword [ebp - 0x28]
add esp, 0xc
push dword [ebp + 8]
push dword [ebp - 0x14]
call fcn.00428e1b
lea ecx, [ebp + 8]
call fcn.00424686
jmp 0x44b2f0
cmp dword [ebp - 0x48], ebx
je 0x44b250
push dword [ebp - 0x50]
jmp 0x44b2e5
shr esi, 1
lea edi, [esi + esi*2]
lea edi, [edi + edi + 0xa]
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0042459d
push ebx
push ebx
push edi
mov edi, dword [ebp - 0x4c]
push edi
push esi
push dword [ebp - 0x3c]
push ebx
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
cmp esi, ebx
jge 0x44b282
xor esi, esi
cmp byte [ebp + 0xb], 0
mov byte [edi + esi], 0
jne 0x44b2af
cmp esi, ebx
jle 0x44b2f0
cmp dword [ebp - 0x34], ebx
je 0x44b2a3
push dword [ebp - 0x40]
lea ecx, [ebp - 0x10]
push dword [ebp - 0x34]
call fcn.0042443b
push esi
push edi
lea ecx, [ebp - 0x10]
call fcn.0042443b
jmp 0x44b2f0
cmp byte [ebp - 3], 0
je 0x44b2d4
mov esi, dword [ebp - 0x14]
push ebx
lea eax, [ebp - 0x14]
push eax
push edi
call fcn.004617f0
pop ecx
push eax
push edi
push esi
push dword [ebp - 0x28]
call fcn.0042e908
add esp, 0x18
jmp 0x44b2f0
push esi
lea eax, [ebp - 0x1c]
push edi
push eax
call fcn.0042721a
add esp, 0xc
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
call fcn.00428e1b
cmp dword [ebp - 0x10], ebx
je 0x44b2fe
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea ecx, [ebp - 0x4c]
call fcn.00424686
jmp 0x44b014