Function at 0x46d1a3
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
and dword [ebp - 0x14], 0
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov di, word [esi]
mov dword [ebp - 0x28], ecx
mov byte [ebp - 1], 0
mov byte [ebp - 2], 0
mov dword [ebp - 8], 0xffff0000
mov eax, edi
call fcn.0043daaf
xor ebx, ebx
inc ebx
test al, al
je 0x46d1e4
and dword [ebp - 8], 0
mov dword [ebp - 0x14], ebx
jmp 0x46d305
push 4
push esi
push 0x4c7364
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x46d204
mov dword [ebp - 8], 0x4b0
jmp 0x46d305
push 8
push esi
push 0x4c7358
call fcn.0043ee93
add esp, 0xc
test al, al
jne 0x46d1f8
push 5
push esi
push 0x4c7350
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x46d238
mov dword [ebp - 8], 0x4b1
jmp 0x46d305
push 9
push esi
push 0x4c7344
call fcn.0043ee93
add esp, 0xc
test al, al
jne 0x46d22c
push 5
push esi
push 0x4c733c
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x46d269
and dword [ebp - 8], 0
jmp 0x46d305
push 4
push esi
push 0x4c7334
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x46d286
mov dword [ebp - 8], 0x3a8
jmp 0x46d305
push 5
push esi
push 0x4c732c
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x46d2a3
mov dword [ebp - 8], 0x3b6
jmp 0x46d305
push 5
push esi
push 0x4c7324
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x46d2c0
mov dword [ebp - 8], 0xfde9
jmp 0x46d305
push 5
push esi
push 0x4c731c
call fcn.0043ee93
add esp, 0xc
test al, al
je 0x46d2dd
mov dword [ebp - 8], 0xfde8
jmp 0x46d305
cmp di, 0x2d
jne 0x46d305
xor eax, eax
add esi, 2
mov ax, word [esi]
push eax
call fcn.004439f7
add esp, 4
test al, al
je 0x46d305
push esi
mov dword [ebp + 8], esi
call fcn.00444bbe
pop ecx
mov dword [ebp - 8], eax
lea eax, [ebp + 8]
push eax
call fcn.00408ddd
push 4
lea eax, [ebp + 8]
push eax
push 0x4c7314
call fcn.00445f31
add esp, 0x10
neg al
sbb al, al
push 0x4bca0c
lea ecx, [ebp - 0x44]
and eax, 2
mov byte [ebp - 0xc], al
call fcn.0044cd74
push 0x4c7300
lea ecx, [ebp - 0x24]
call fcn.0044cd74
mov ecx, dword [ebp - 0x28]
xor edi, edi
push edi
push 0x2c
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 8]
push eax
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x4c], edi
call fcn.00438c4b
mov esi, dword [ebp - 0x44]
push esi
push 0x4c72fc
mov dword [ebp + 8], eax
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x46d38a
mov byte [ebp - 1], 9
mov dword [ebp - 0x4c], ebx
push esi
push 0x4c72f8
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x46d411
mov dword [ebp - 0x4c], ebx
or byte [ebp - 1], 1
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x1c], edi
call fcn.00443f5b
mov ecx, dword [ebp - 0x28]
push ebx
push edi
lea eax, [ebp - 0x60]
push eax
push dword [ebp + 8]
call fcn.004537c3
mov eax, dword [ebp - 0x60]
mov dword [ebp + 8], eax
cmp word [eax], 0x2c
jne 0x46d4b1
lea ecx, [ebp - 0x20]
call fcn.00443f5b
add dword [ebp + 8], 2
push 0x2c
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
mov esi, dword [ebp - 0x20]
push esi
push 0x4c72f4
mov dword [ebp - 0x10], esi
call fcn.0043ef29
add esp, 0x14
test al, al
je 0x46d449
mov byte [ebp - 2], 2
mov dword [ebp - 0x1c], 0x4c72f0
jmp 0x46d4a9
cmp word [esi], di
je 0x46d39e
push esi
push 0x4bdf04
call fcn.0043ef29
test al, al
pop ecx
pop ecx
jne 0x46d39e
push esi
push 0x4bd940
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x46d3a2
mov byte [ebp - 1], 2
jmp 0x46d3a2
push esi
push 0x4c72ec
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x46d460
mov byte [ebp - 2], 3
jmp 0x46d4a9
push esi
push 0x4c1270
call fcn.0043ef29
test al, al
pop ecx
pop ecx
je 0x46d47e
mov byte [ebp - 2], 1
mov dword [ebp - 0x1c], 0x4c72e8
jmp 0x46d4a9
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00450152
mov eax, dword [ebp - 0x10]
cmp word [eax], 0x2b
pop ecx
pop ecx
jne 0x46d4a9
add dword [ebp - 0x10], 2
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00450152
pop ecx
pop ecx
lea ecx, [ebp - 0x20]
call fcn.0043db4f
mov eax, dword [ebp + 8]
cmp word [eax], 0x2c
jne 0x46d4d0
add dword [ebp + 8], 2
push 0x2c
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00446d58
add esp, 0xc
mov ecx, dword [ebp - 0x28]
push 0
lea eax, [ebp - 0x24]
push eax
call fcn.00402eb0
push 8
lea ecx, [ebp - 0x18]
call fcn.00443e04
mov edi, dword [ebp - 0x18]
and word [edi], 0
cmp dword [ebp - 8], 0
mov dword [ebp - 0x5c], edi
mov esi, ebx
jl 0x46df4b
lea ecx, [ebp - 0x58]
call fcn.00443de7
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
cmp word [eax], 0x75
mov ebx, 0xff
jne 0x46d6b3
cmp word [eax + 2], 0x64
jne 0x46d6b3
cmp word [eax + 4], 0x3a
jne 0x46d6b3
mov ecx, dword [ebp + 8]
and word [ecx], 0
push 0x22
add eax, 6
pop esi
cmp word [eax], si
mov dword [ebp - 0xc], eax
mov byte [ebp - 1], 5
jne 0x46d554
inc eax
inc eax
mov dword [ebp - 0xc], eax
mov edi, eax
push 0x3a
lea eax, [ebp - 0xc]
call fcn.004a7e7b
mov eax, dword [ebp - 0xc]
cmp eax, edi
pop ecx
je 0x46d573
cmp word [eax - 2], si
jne 0x46d573
and word [eax - 2], 0
cmp word [eax], 0x3a
jne 0x46d57f
and word [eax], 0
inc eax
inc eax
cmp word [eax], si
mov ecx, eax
jne 0x46d59a
lea ecx, [eax + 2]
inc eax
inc eax
cmp word [eax], si
jne 0x46d594
and word [eax], 0
cmp word [eax], 0
jne 0x46d589
push 0
push 0
push 0x10000
push ecx
lea eax, [ebp - 0x58]
push eax
push edi
call fcn.0043b689
mov esi, dword [ebp - 0x54]
add esp, 0x18
test esi, esi
jle 0x46d5c5
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
add eax, ecx
mov dword [ebp + 8], eax
jmp 0x46d5c8
mov eax, dword [ebp + 8]
movsx edx, byte [eax]
xor ecx, ecx
cmp edx, ebx
mov dword [ebp - 0x34], ecx
jne 0x46d5e9
movsx edi, byte [eax + 1]
cmp edi, 0xfe
jne 0x46d5e9
mov dword [ebp - 8], 0x4b0
jmp 0x46d600
cmp edx, 0xfe
jne 0x46d604
movsx edi, byte [eax + 1]
cmp edi, ebx
jne 0x46d604
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x46d62d
cmp edx, 0xef
jne 0x46d632
movsx edx, byte [eax + 1]
cmp edx, 0xbb
jne 0x46d632
movsx edx, byte [eax + 2]
cmp edx, 0xbf
jne 0x46d632
mov dword [ebp - 8], 0xfde9
push 3
and dword [ebp - 0x34], 0
pop ecx
sub esi, ecx
cmp dword [ebp - 8], 0x4b1
lea edi, [ecx + eax]
jne 0x46d65d
and esi, 0xfffffffe
add esi, edi
cmp edi, esi
mov ecx, edi
ja 0x46d6ad
mov al, byte [ecx]
mov dl, byte [ecx + 1]
mov byte [ecx], dl
mov byte [ecx + 1], al
inc ecx
inc ecx
cmp ecx, esi
jbe 0x46d64b
jmp 0x46d6aa
cmp dword [ebp - 8], 0x4b0
je 0x46d6ad
cmp dword [ebp - 0x14], 0
je 0x46d678
push esi
push edi
call fcn.004532d2
pop ecx
pop ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x58]
and dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], eax
lea eax, [esi + esi + 0x20]
push eax
lea ecx, [ebp - 0x58]
call fcn.00443e29
push dword [ebp - 8]
lea ecx, [ebp - 0x58]
push esi
push edi
call fcn.00444016
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x5c]
mov dword [ebp + 8], eax
call fcn.0043db4f
mov eax, dword [ebp + 8]
or dword [ebp - 0x14], 4
jmp 0x46d6f2
mov eax, dword [ebp - 0x24]
cmp word [eax], cx
jne 0x46d6ca
lea ecx, [ebp - 0x58]
call fcn.0043db4f
xor esi, esi
jmp 0x46df59
cmp byte [ebp - 1], 1
mov eax, dword [ebp + 8]
jne 0x46d6e3
cmp word [eax], 0x2c
je 0x46d6e3
mov esi, 0x80070057
jmp 0x46df43
inc eax
inc eax
test byte [ebp - 1], 1
mov dword [ebp + 8], eax
je 0x46da65
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
xor edx, edx
or ecx, edx
mov dword [ebp - 0xc], ebx
je 0x46d81f
lea eax, [ebp + 8]
push eax
call fcn.0043dae7
mov esi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
call fcn.00405615
mov eax, dword [ebp + 8]
cmp word [eax], bx
pop ecx
pop ecx
je 0x46d729
mov word [eax], bx
mov eax, dword [ebp + 8]
cmp word [esi], bx
je 0x46d81f
mov ecx, dword [ebp - 0x28]
push ebx
push 0xffffffffffffffff
push ebx
push esi
call fcn.00410728
mov edi, eax
cmp edi, ebx
je 0x46d81c
mov ebx, dword [edi + 0x10]
mov esi, dword [edi + 4]
xor eax, eax
test byte [ebp - 1], 8
je 0x46d7f4
movsx ecx, byte [esi]
cmp ecx, 0xff
jne 0x46d77b
movsx edx, byte [esi + 1]
cmp edx, 0xfe
jne 0x46d77b
mov dword [ebp - 8], 0x4b0
jmp 0x46d796
cmp ecx, 0xfe
jne 0x46d79a
movsx edx, byte [esi + 1]
cmp edx, 0xff
jne 0x46d79a
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x46d7c3
cmp ecx, 0xef
jne 0x46d7c8
movsx ecx, byte [esi + 1]
cmp ecx, 0xbb
jne 0x46d7c8
movsx ecx, byte [esi + 2]
cmp ecx, 0xbf
jne 0x46d7c8
mov dword [ebp - 8], 0xfde9
push 3
and dword [ebp - 0x14], 0
pop eax
sub ebx, eax
add esi, eax
cmp dword [ebp - 8], 0x4b1
je 0x46d7f4
cmp dword [ebp - 8], 0x4b0
je 0x46d7f4
cmp dword [ebp - 0x14], 0
je 0x46d7f0
push ebx
push esi
call fcn.004532d2
pop ecx
pop ecx
mov dword [ebp - 8], eax
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x14], 0
lea ecx, [ebp - 0xc]
je 0x46d80a
shr ebx, 1
push ebx
push dword [edi + 4]
call fcn.0044407f
jmp 0x46d814
push dword [ebp - 8]
push ebx
push esi
call fcn.00444016
mov eax, dword [ebp - 0xc]
mov dword [ebp + 8], eax
jmp 0x46d81f
mov eax, dword [ebp + 8]
cmp byte [ebp - 2], 3
mov ebx, eax
jne 0x46d82d
push eax
jmp 0x46d97d
cmp byte [ebp - 2], 0
je 0x46d8c5
cmp byte [ebp - 2], 1
mov edi, 0x4c04c4
je 0x46d847
mov edi, 0x4c010c
lea ecx, [ebp - 0x10]
call fcn.00443f5b
mov eax, dword [ebp + 8]
mov esi, eax
xor ebx, ebx
jmp 0x46d89e
cmp cx, 0xd
jne 0x46d86e
cmp word [eax + 2], 0xa
jne 0x46d874
mov word [eax], bx
add dword [ebp + 8], 2
jmp 0x46d877
cmp cx, 0xa
jne 0x46d899
mov word [eax], bx
cmp byte [ebp - 2], 0
jne 0x46d886
push edi
lea ecx, [ebp - 0x10]
call fcn.00443fc7
push esi
lea ecx, [ebp - 0x10]
mov byte [ebp - 2], 0
call fcn.00443fc7
mov eax, dword [ebp + 8]
lea esi, [eax + 2]
inc eax
inc eax
mov dword [ebp + 8], eax
mov cx, word [eax]
cmp cx, bx
jne 0x46d858
cmp word [esi], bx
je 0x46d927
cmp byte [ebp - 2], 0
jne 0x46d8ba
push edi
lea ecx, [ebp - 0x10]
call fcn.00443fc7
push esi
lea ecx, [ebp - 0x10]
call fcn.00443fc7
jmp 0x46d927
mov edx, dword [ebp - 0x2c]
test edx, edx
jg 0x46d93d
jl 0x46d8d4
cmp dword [ebp - 0x30], 0
jae 0x46d93d
mov cx, word [eax]
xor esi, esi
xor edi, edi
test cx, cx
je 0x46d90a
cmp cx, 0xa
jne 0x46d8ec
add esi, 1
adc edi, 0
inc eax
inc eax
mov dword [ebp + 8], eax
mov cx, word [eax]
test cx, cx
jne 0x46d8e0
cmp eax, ebx
jbe 0x46d90a
cmp word [eax - 2], 0xa
je 0x46d90a
add esi, 1
adc edi, 0
push 0x20
lea ecx, [ebp - 0x10]
call fcn.00443f79
push edi
push esi
push 0x4bd214
push dword [ebp - 0x10]
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x10
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0x24]
call fcn.00443666
lea ecx, [ebp - 0x10]
jmp 0x46da53
mov esi, dword [ebp - 0x30]
mov ecx, esi
or ecx, edx
jne 0x46d9ae
mov dx, word [eax]
test dx, dx
push 0xa
mov ecx, eax
mov esi, eax
pop edi
je 0x46d99c
cmp dx, di
jne 0x46d95e
mov esi, ecx
mov ecx, eax
inc eax
inc eax
mov dword [ebp + 8], eax
mov dx, word [eax]
test dx, dx
jne 0x46d955
cmp eax, ebx
jbe 0x46d98d
cmp word [eax - 2], di
je 0x46d98d
cmp word [ecx], di
jne 0x46d97c
inc ecx
inc ecx
push ecx
push dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
call fcn.00443666
jmp 0x46da58
cmp ecx, ebx
jbe 0x46d99c
lea eax, [ecx - 2]
cmp word [eax], 0xd
jne 0x46d99c
mov ecx, eax
cmp word [esi], di
jne 0x46d9a3
inc esi
inc esi
sub ecx, esi
sar ecx, 1
push ecx
push esi
jmp 0x46da3a
test edx, edx
jl 0x46d9d8
jle 0x46d9d3
mov cx, word [eax]
test cx, cx
je 0x46d9d8
cmp cx, 0xa
jne 0x46d9c8
add esi, 0xffffffff
adc edx, 0xffffffff
inc eax
inc eax
test edx, edx
mov dword [ebp + 8], eax
jg 0x46d9b4
jl 0x46d9d8
cmp esi, 1
ja 0x46d9b4
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
mov ebx, eax
jmp 0x46da29
mov ecx, esi
or ecx, edi
je 0x46d9fa
add dword [ebp - 0x40], 0xffffffff
adc dword [ebp - 0x3c], 0xffffffff
js 0x46da34
jg 0x46d9fa
cmp dword [ebp - 0x40], 0
jb 0x46da34
lea eax, [ebp + 8]
call fcn.00405639
mov eax, esi
or eax, edi
je 0x46da10
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x46da31
mov eax, dword [ebp + 8]
cmp word [eax], 0xd
jne 0x46da1e
inc eax
inc eax
mov dword [ebp + 8], eax
cmp word [eax], 0xa
jne 0x46da29
inc eax
inc eax
mov dword [ebp + 8], eax
cmp word [eax], 0
jne 0x46d9e2
jmp 0x46da34
mov eax, dword [ebp + 8]
sub eax, ebx
sar eax, 1
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.0044cd91
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0x24]
call fcn.00443666
lea ecx, [ebp - 0x1c]
call fcn.0043db4f
lea ecx, [ebp - 0xc]
call fcn.0043db4f
jmp 0x46d6bb
push 8
lea ecx, [ebp - 0x10]
call fcn.00443e04
and word [edi], 0
and dword [ebp - 0x48], 0
xor eax, eax
cmp byte [ebp - 1], 2
lea edi, [ebp - 0x70]
stosd dword es:[edi], eax
mov eax, dword [0x4d6350]
mov dword [ebp - 0x74], eax
jne 0x46da96
lea eax, [ebp - 0x74]
mov dword [ebp - 0x20], eax
jmp 0x46dbe3
push dword [ebp - 0x44]
lea eax, [ebp - 0x48]
mov dword [ebp - 0x20], eax
xor ebx, ebx
xor esi, esi
call fcn.00404e6e
test eax, eax
pop ecx
je 0x46dac4
push 7
push 0x80000000
push dword [ebp - 0x44]
call fcn.00413e57
add esp, 0xc
mov dword [ebp - 0x48], eax
jmp 0x46dadf
push ebx
push 0x2000000
push 3
push ebx
push 7
push 0x80000000
push dword [ebp - 0x44]
lea ecx, [ebp - 0x48]
call fcn.0040569f
cmp dword [ebp - 0x48], ebx
je 0x46db81
xor eax, eax
push eax
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x37], 0
mov byte [ebp - 0x36], 0
lea edi, [ebp - 0x35]
stosw word es:[edi], ax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x6c]
push eax
push 3
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp byte [ebp - 0x38], 0xff
jne 0x46db2a
cmp byte [ebp - 0x37], 0xfe
jne 0x46db62
mov dword [ebp - 8], 0x4b0
jmp 0x46db3d
cmp byte [ebp - 0x38], 0xfe
jne 0x46db41
cmp byte [ebp - 0x37], 0xff
jne 0x46db62
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x46db5c
cmp byte [ebp - 0x38], 0xef
jne 0x46db62
cmp byte [ebp - 0x37], 0xbb
jne 0x46db62
cmp byte [ebp - 0x36], 0xbf
jne 0x46db62
mov dword [ebp - 8], 0xfde9
push 3
xor ebx, ebx
pop esi
mov dword [ebp - 0x14], ebx
mov edi, dword [ebp - 0x48]
push 0
push ebx
push esi
push edi
call fcn.0043edf6
mov ebx, edx
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x7c], eax
jg 0x46db8e
jl 0x46db81
test eax, eax
jae 0x46db8e
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov esi, eax
jmp 0x46df33
cmp dword [ebp - 0x14], 0
je 0x46dbe3
push edi
call fcn.00497b6d
test edx, edx
pop ecx
mov esi, eax
jg 0x46dbe3
jl 0x46dbab
cmp esi, 0x1000000
ja 0x46dbe3
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00443e29
push 0
lea eax, [ebp - 0x6c]
push eax
push esi
push dword [ebp - 0x58]
push edi
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push 0
push ebx
push dword [ebp - 0x7c]
push edi
call fcn.0043edf6
push esi
push dword [ebp - 0x58]
call fcn.004532d2
add esp, 0x18
mov dword [ebp - 8], eax
xor esi, esi
push esi
mov dword [ebp - 0x38], 0x186a0
mov dword [ebp - 0x34], esi
call dword [sym.imp.KERNEL32.DLL_SetLastError]
cmp byte [ebp - 2], 3
jne 0x46dcbc
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x5c], eax
mov edi, 0x40000
lea eax, [esi + 0x40001]
push eax
lea ecx, [ebp - 0xc]
call fcn.00443e29
mov ebx, dword [ebp - 0xc]
xor eax, eax
push eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x30]
push eax
push edi
lea eax, [esi + ebx]
push eax
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
cmp dword [ebp - 0x2c], 0
jl 0x46dc51
jg 0x46dc4a
cmp dword [ebp - 0x30], edi
jbe 0x46dc51
and dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], edi
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x2c]
jne 0x46dc80
test eax, eax
jne 0x46dc89
cmp byte [ebp - 1], 2
jne 0x46dc6e
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x46dc89
add dword [ebp - 0x38], 0xffffffff
adc dword [ebp - 0x34], 0xffffffff
js 0x46dc89
jg 0x46dc80
cmp dword [ebp - 0x38], 0
jb 0x46dc89
add esi, dword [ebp - 0x30]
mov byte [esi + ebx], 0
jmp 0x46dc10
mov eax, dword [ebp - 8]
lea esi, [ebp - 0xc]
call fcn.0044a964
mov ecx, dword [ebp - 0x28]
push eax
push dword [ebp - 0x24]
call fcn.00443666
mov ecx, esi
call fcn.0043db4f
lea ecx, [ebp - 0x48]
call fcn.00402cb5
lea ecx, [ebp - 0x10]
call fcn.0043db4f
jmp 0x46d6bb
cmp byte [ebp - 2], 0
je 0x46dd59
mov eax, dword [ebp - 0x1c]
cmp eax, esi
jne 0x46dcd2
mov eax, 0x4bd7b2
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x1c]
call fcn.0044cdaa
xor ebx, ebx
mov bl, byte [ebp - 0xc]
or ebx, 1
lea ecx, [ebp - 0xc]
call fcn.00443f5b
cmp byte [ebp - 2], 0
jne 0x46dcfe
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x18]
call fcn.00443fc7
push ebx
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x20]
mov byte [ebp - 2], 0
call fcn.0044a69d
add esp, 0x10
cmp byte [ebp - 1], 2
mov edi, eax
jne 0x46dd28
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x46dd49
mov eax, dword [ebp - 8]
lea esi, [ebp - 0xc]
call fcn.0044a964
push eax
lea ecx, [ebp - 0x18]
call fcn.00443fc7
mov ecx, esi
call fcn.0043db4f
test edi, edi
je 0x46dd51
jmp 0x46dce5
lea ecx, [ebp - 0xc]
call fcn.0043db4f
lea ecx, [ebp - 0x1c]
jmp 0x46df17
cmp dword [ebp - 0x2c], esi
jg 0x46ddc6
jl 0x46dd65
cmp dword [ebp - 0x30], esi
jae 0x46ddc6
xor edi, edi
xor ebx, ebx
push dword [ebp - 0xc]
lea eax, [ebp - 0x18]
push dword [ebp - 8]
push eax
push dword [ebp - 0x20]
call fcn.0044a69d
add esp, 0x10
cmp byte [ebp - 1], 2
mov esi, eax
jne 0x46dd91
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x46dd9d
test esi, esi
je 0x46dd9d
add edi, 1
adc ebx, 0
jmp 0x46dd69
push 0x20
lea ecx, [ebp - 0x18]
mov dword [ebp - 8], 0x4b0
call fcn.00443e29
push ebx
push edi
push 0x4bd214
push dword [ebp - 0x18]
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x10
jmp 0x46df23
mov eax, dword [ebp - 0x30]
xor ebx, ebx
or eax, dword [ebp - 0x2c]
jne 0x46de15
mov bl, byte [ebp - 0xc]
or ebx, 1
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
push ebx
push dword [ebp - 8]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x20]
mov dword [ebp - 0x18], ecx
call fcn.0044a69d
add esp, 0x10
cmp byte [ebp - 1], 2
mov esi, eax
jne 0x46de0c
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x46df23
test esi, esi
jne 0x46ddd6
jmp 0x46df23
inc ebx
cmp esi, dword [ebp - 0x2c]
jg 0x46de5b
jge 0x46de56
push dword [ebp - 0xc]
lea eax, [ebp - 0x18]
push dword [ebp - 8]
push eax
push dword [ebp - 0x20]
call fcn.0044a69d
add esp, 0x10
cmp byte [ebp - 1], 2
mov edi, eax
jne 0x46de45
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x46de5b
test edi, edi
je 0x46de5b
add ebx, 1
adc esi, 0
cmp esi, dword [ebp - 0x2c]
jl 0x46de1d
jg 0x46de5b
cmp ebx, dword [ebp - 0x30]
jb 0x46de1d
mov edi, dword [ebp - 0x40]
cmp edi, 1
mov eax, dword [ebp - 0x18]
mov byte [eax], 0
jne 0x46de8b
cmp dword [ebp - 0x3c], 0
jne 0x46de8b
xor eax, eax
mov al, byte [ebp - 0xc]
or eax, edi
push eax
push dword [ebp - 8]
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x20]
call fcn.0044a69d
jmp 0x46ddbe
lea ecx, [ebp - 0x14]
call fcn.00443f5b
mov ebx, edi
test ebx, ebx
je 0x46dea8
add edi, 0xffffffff
adc dword [ebp - 0x3c], 0xffffffff
js 0x46df14
jg 0x46dea8
test edi, edi
jb 0x46df14
mov eax, dword [ebp - 0x14]
and word [eax], 0
xor eax, eax
mov al, byte [ebp - 0xc]
or eax, 1
push eax
push dword [ebp - 8]
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x20]
call fcn.0044a69d
add esp, 0x10
cmp byte [ebp - 1], 2
mov esi, eax
jne 0x46dedd
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0x6d
je 0x46df14
test esi, esi
je 0x46df14
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x14]
call fcn.0044a964
push eax
lea ecx, [ebp - 0x18]
call fcn.00443fc7
test ebx, ebx
je 0x46df05
cmp dword [ebp - 0x3c], 0
jl 0x46df14
jg 0x46df05
test edi, edi
jbe 0x46df14
push 0x4c010c
lea ecx, [ebp - 0x18]
call fcn.00443fc7
jmp 0x46de95
lea ecx, [ebp - 0x14]
mov dword [ebp - 8], 0x4b0
call fcn.0043db4f
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x18]
call fcn.0044a964
mov dword [ebp - 0x5c], eax
xor esi, esi
lea ecx, [ebp - 0x48]
call fcn.00402cb5
lea ecx, [ebp - 0x10]
call fcn.0043db4f
lea ecx, [ebp - 0x58]
call fcn.0043db4f
push dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0x24]
call fcn.00443666
lea ecx, [ebp - 0x18]
call fcn.0043db4f
lea ecx, [ebp - 0x60]
call fcn.0043db4f
lea ecx, [ebp - 0x64]
call fcn.00402cb5
lea ecx, [ebp - 0x24]
call fcn.0043db4f
lea ecx, [ebp - 0x44]
call fcn.0043db4f
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8