Function at 0x4704ef
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.0043e785
xor ebx, ebx
inc ebx
test al, al
je 0x470530
and dword [ebp - 8], 0
mov dword [ebp - 0x14], ebx
jmp 0x470651
push 4
push esi
push str._UNI
call fcn.0043fbc2
add esp, 0xc
test al, al
je 0x470550
mov dword [ebp - 8], 0x4b0
jmp 0x470651
push 8
push esi
push str._UNICODE
call fcn.0043fbc2
add esp, 0xc
test al, al
jne 0x470544
push 5
push esi
push str._UNIB
call fcn.0043fbc2
add esp, 0xc
test al, al
je 0x470584
mov dword [ebp - 8], 0x4b1
jmp 0x470651
push 9
push esi
push str._UNICODEB
call fcn.0043fbc2
add esp, 0xc
test al, al
jne 0x470578
push 5
push esi
push 0x4cc6b0
call fcn.0043fbc2
add esp, 0xc
test al, al
je 0x4705b5
and dword [ebp - 8], 0
jmp 0x470651
push 4
push esi
push str._GBK
call fcn.0043fbc2
add esp, 0xc
test al, al
je 0x4705d2
mov dword [ebp - 8], 0x3a8
jmp 0x470651
push 5
push esi
push str._BIG5
call fcn.0043fbc2
add esp, 0xc
test al, al
je 0x4705ef
mov dword [ebp - 8], 0x3b6
jmp 0x470651
push 5
push esi
push str._UTF8
call fcn.0043fbc2
add esp, 0xc
test al, al
je 0x47060c
mov dword [ebp - 8], 0xfde9
jmp 0x470651
push 5
push esi
push str._UTF7
call fcn.0043fbc2
add esp, 0xc
test al, al
je 0x470629
mov dword [ebp - 8], 0xfde8
jmp 0x470651
cmp di, 0x2d
jne 0x470651
xor eax, eax
add esi, 2
mov ax, word [esi]
push eax
call fcn.00414a48
add esp, 4
test al, al
je 0x470651
push esi
mov dword [ebp + 8], esi
call fcn.00445c39
pop ecx
mov dword [ebp - 8], eax
lea eax, [ebp + 8]
push eax
call fcn.00409344
push 4
lea eax, [ebp + 8]
push eax
push 0x4cc688
call fcn.00446fac
add esp, 0x10
neg al
sbb al, al
push 0x4c1a3c
lea ecx, [ebp - 0x44]
and eax, 2
mov byte [ebp - 0xc], al
call fcn.0044e827
push 0x4cc674
lea ecx, [ebp - 0x24]
call fcn.0044e827
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.0043993e
mov esi, dword [ebp - 0x44]
push esi
push 0x4cc670
mov dword [ebp + 8], eax
call fcn.0043fc58
test al, al
pop ecx
pop ecx
je 0x4706d6
mov byte [ebp - 1], 9
mov dword [ebp - 0x4c], ebx
push esi
push 0x4cc66c
call fcn.0043fc58
test al, al
pop ecx
pop ecx
je 0x47075d
mov dword [ebp - 0x4c], ebx
or byte [ebp - 1], 1
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x1c], edi
call fcn.00444f6c
mov ecx, dword [ebp - 0x28]
push ebx
push edi
lea eax, [ebp - 0x60]
push eax
push dword [ebp + 8]
call fcn.004553cd
mov eax, dword [ebp - 0x60]
mov dword [ebp + 8], eax
cmp word [eax], 0x2c
jne 0x4707fd
lea ecx, [ebp - 0x20]
call fcn.00444f6c
add dword [ebp + 8], 2
push 0x2c
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00447e0d
mov esi, dword [ebp - 0x20]
push esi
push 0x4cc668
mov dword [ebp - 0x10], esi
call fcn.0043fc58
add esp, 0x14
test al, al
je 0x470795
mov byte [ebp - 2], 2
mov dword [ebp - 0x1c], 0x4cc664
jmp 0x4707f5
cmp word [esi], di
je 0x4706ea
push esi
push 0x4c2fe4
call fcn.0043fc58
test al, al
pop ecx
pop ecx
jne 0x4706ea
push esi
push 0x4c2a20
call fcn.0043fc58
test al, al
pop ecx
pop ecx
je 0x4706ee
mov byte [ebp - 1], 2
jmp 0x4706ee
push esi
push 0x4cc660
call fcn.0043fc58
test al, al
pop ecx
pop ecx
je 0x4707ac
mov byte [ebp - 2], 3
jmp 0x4707f5
push esi
push 0x4c6330
call fcn.0043fc58
test al, al
pop ecx
pop ecx
je 0x4707ca
mov byte [ebp - 2], 1
mov dword [ebp - 0x1c], 0x4cc65c
jmp 0x4707f5
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00451c15
mov eax, dword [ebp - 0x10]
cmp word [eax], 0x2b
pop ecx
pop ecx
jne 0x4707f5
add dword [ebp - 0x10], 2
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00451c15
pop ecx
pop ecx
lea ecx, [ebp - 0x20]
call fcn.0043e825
mov eax, dword [ebp + 8]
cmp word [eax], 0x2c
jne 0x47081c
add dword [ebp + 8], 2
push 0x2c
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00447e0d
add esp, 0xc
mov ecx, dword [ebp - 0x28]
push 0
lea eax, [ebp - 0x24]
push eax
call fcn.00402ef7
push 8
lea ecx, [ebp - 0x18]
call fcn.00444e15
mov edi, dword [ebp - 0x18]
and word [edi], 0
cmp dword [ebp - 8], 0
mov dword [ebp - 0x5c], edi
mov esi, ebx
jl 0x47126b
lea ecx, [ebp - 0x58]
call fcn.00444df8
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 0x4709ff
cmp word [eax + 2], 0x64
jne 0x4709ff
cmp word [eax + 4], 0x3a
jne 0x4709ff
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 0x4708a0
inc eax
inc eax
mov dword [ebp - 0xc], eax
mov edi, eax
push 0x3a
lea eax, [ebp - 0xc]
call fcn.00405bbb
mov eax, dword [ebp - 0xc]
cmp eax, edi
pop ecx
je 0x4708bf
cmp word [eax - 2], si
jne 0x4708bf
and word [eax - 2], 0
cmp word [eax], 0x3a
jne 0x4708cb
and word [eax], 0
inc eax
inc eax
cmp word [eax], si
mov ecx, eax
jne 0x4708e6
lea ecx, [eax + 2]
inc eax
inc eax
cmp word [eax], si
jne 0x4708e0
and word [eax], 0
cmp word [eax], 0
jne 0x4708d5
push 0
push 0
push 0x10000
push ecx
lea eax, [ebp - 0x58]
push eax
push edi
call fcn.0043c37c
mov esi, dword [ebp - 0x54]
add esp, 0x18
test esi, esi
jle 0x470911
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
add eax, ecx
mov dword [ebp + 8], eax
jmp 0x470914
mov eax, dword [ebp + 8]
movsx edx, byte [eax]
xor ecx, ecx
cmp edx, ebx
mov dword [ebp - 0x34], ecx
jne 0x470935
movsx edi, byte [eax + 1]
cmp edi, 0xfe
jne 0x470935
mov dword [ebp - 8], 0x4b0
jmp 0x47094c
cmp edx, 0xfe
jne 0x470950
movsx edi, byte [eax + 1]
cmp edi, ebx
jne 0x470950
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x470979
cmp edx, 0xef
jne 0x47097e
movsx edx, byte [eax + 1]
cmp edx, 0xbb
jne 0x47097e
movsx edx, byte [eax + 2]
cmp edx, 0xbf
jne 0x47097e
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 0x4709a9
and esi, 0xfffffffe
add esi, edi
cmp edi, esi
mov ecx, edi
ja 0x4709f9
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 0x470997
jmp 0x4709f6
cmp dword [ebp - 8], 0x4b0
je 0x4709f9
cmp dword [ebp - 0x14], 0
je 0x4709c4
push esi
push edi
call fcn.00454edc
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.00444e3a
push dword [ebp - 8]
lea ecx, [ebp - 0x58]
push esi
push edi
call fcn.00445027
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x5c]
mov dword [ebp + 8], eax
call fcn.0043e825
mov eax, dword [ebp + 8]
or dword [ebp - 0x14], 4
jmp 0x470a3e
mov eax, dword [ebp - 0x24]
cmp word [eax], cx
jne 0x470a16
lea ecx, [ebp - 0x58]
call fcn.0043e825
xor esi, esi
jmp 0x471279
cmp byte [ebp - 1], 1
mov eax, dword [ebp + 8]
jne 0x470a2f
cmp word [eax], 0x2c
je 0x470a2f
mov esi, 0x80070057
jmp 0x471263
inc eax
inc eax
test byte [ebp - 1], 1
mov dword [ebp + 8], eax
je 0x470d85
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
xor edx, edx
or ecx, edx
mov dword [ebp - 0xc], ebx
je 0x470b3f
lea eax, [ebp + 8]
push eax
call fcn.0043e7bd
mov esi, dword [ebp + 8]
lea eax, [ebp + 8]
push eax
call fcn.00405b76
mov eax, dword [ebp + 8]
cmp word [eax], bx
pop ecx
pop ecx
je 0x470a75
mov word [eax], bx
mov eax, dword [ebp + 8]
cmp word [esi], bx
je 0x470b3f
mov ecx, dword [ebp - 0x28]
push ebx
push 0xffffffffffffffff
push ebx
push esi
call fcn.00410e94
cmp eax, ebx
je 0x470b3c
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 4]
xor ecx, ecx
test byte [ebp - 1], 8
je 0x470b0c
mov al, byte [esi]
cmp al, 0xff
jne 0x470ab4
cmp byte [esi + 1], 0xfe
jne 0x470ab4
mov eax, 0x4b0
jmp 0x470ac3
cmp al, 0xfe
jne 0x470ac7
cmp byte [esi + 1], 0xff
jne 0x470ac7
mov eax, 0x4b1
push 2
jmp 0x470ade
cmp al, 0xef
jne 0x470ae4
cmp byte [esi + 1], 0xbb
jne 0x470ae4
cmp byte [esi + 2], 0xbf
jne 0x470ae4
mov eax, 0xfde9
push 3
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x470ae7
mov eax, dword [ebp - 8]
sub edi, ecx
add esi, ecx
cmp eax, 0x4b1
je 0x470b0f
cmp eax, 0x4b0
je 0x470b0f
cmp dword [ebp - 0x14], ebx
je 0x470b07
push edi
push esi
call fcn.00454edc
pop ecx
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x470b0f
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x14], ebx
jg 0x470b28
cmp eax, 0x4b0
je 0x470b28
push eax
push edi
push esi
lea ecx, [ebp - 0xc]
call fcn.00445027
jmp 0x470b34
shr edi, 1
push edi
push esi
lea ecx, [ebp - 0xc]
call fcn.00445090
mov eax, dword [ebp - 0xc]
mov dword [ebp + 8], eax
jmp 0x470b3f
mov eax, dword [ebp + 8]
cmp byte [ebp - 2], 3
mov ebx, eax
jne 0x470b4d
push eax
jmp 0x470c9d
cmp byte [ebp - 2], 0
je 0x470be5
cmp byte [ebp - 2], 1
mov edi, 0x4c55b4
je 0x470b67
mov edi, 0x4c5204
lea ecx, [ebp - 0x10]
call fcn.00444f6c
mov eax, dword [ebp + 8]
mov esi, eax
xor ebx, ebx
jmp 0x470bbe
cmp cx, 0xd
jne 0x470b8e
cmp word [eax + 2], 0xa
jne 0x470b94
mov word [eax], bx
add dword [ebp + 8], 2
jmp 0x470b97
cmp cx, 0xa
jne 0x470bb9
mov word [eax], bx
cmp byte [ebp - 2], 0
jne 0x470ba6
push edi
lea ecx, [ebp - 0x10]
call fcn.00444fd8
push esi
lea ecx, [ebp - 0x10]
mov byte [ebp - 2], 0
call fcn.00444fd8
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 0x470b78
cmp word [esi], bx
je 0x470c47
cmp byte [ebp - 2], 0
jne 0x470bda
push edi
lea ecx, [ebp - 0x10]
call fcn.00444fd8
push esi
lea ecx, [ebp - 0x10]
call fcn.00444fd8
jmp 0x470c47
mov edx, dword [ebp - 0x2c]
test edx, edx
jg 0x470c5d
jl 0x470bf4
cmp dword [ebp - 0x30], 0
jae 0x470c5d
mov cx, word [eax]
xor esi, esi
xor edi, edi
test cx, cx
je 0x470c2a
cmp cx, 0xa
jne 0x470c0c
add esi, 1
adc edi, 0
inc eax
inc eax
mov dword [ebp + 8], eax
mov cx, word [eax]
test cx, cx
jne 0x470c00
cmp eax, ebx
jbe 0x470c2a
cmp word [eax - 2], 0xa
je 0x470c2a
add esi, 1
adc edi, 0
push 0x20
lea ecx, [ebp - 0x10]
call fcn.00444f8a
push edi
push esi
push 0x4c22c0
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.00444692
lea ecx, [ebp - 0x10]
jmp 0x470d73
mov esi, dword [ebp - 0x30]
mov ecx, esi
or ecx, edx
jne 0x470cce
mov dx, word [eax]
test dx, dx
push 0xa
mov ecx, eax
mov esi, eax
pop edi
je 0x470cbc
cmp dx, di
jne 0x470c7e
mov esi, ecx
mov ecx, eax
inc eax
inc eax
mov dword [ebp + 8], eax
mov dx, word [eax]
test dx, dx
jne 0x470c75
cmp eax, ebx
jbe 0x470cad
cmp word [eax - 2], di
je 0x470cad
cmp word [ecx], di
jne 0x470c9c
inc ecx
inc ecx
push ecx
push dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
call fcn.00444692
jmp 0x470d78
cmp ecx, ebx
jbe 0x470cbc
lea eax, [ecx - 2]
cmp word [eax], 0xd
jne 0x470cbc
mov ecx, eax
cmp word [esi], di
jne 0x470cc3
inc esi
inc esi
sub ecx, esi
sar ecx, 1
push ecx
push esi
jmp 0x470d5a
test edx, edx
jl 0x470cf8
jle 0x470cf3
mov cx, word [eax]
test cx, cx
je 0x470cf8
cmp cx, 0xa
jne 0x470ce8
add esi, 0xffffffff
adc edx, 0xffffffff
inc eax
inc eax
test edx, edx
mov dword [ebp + 8], eax
jg 0x470cd4
jl 0x470cf8
cmp esi, 1
ja 0x470cd4
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
mov ebx, eax
jmp 0x470d49
mov ecx, esi
or ecx, edi
je 0x470d1a
add dword [ebp - 0x40], 0xffffffff
adc dword [ebp - 0x3c], 0xffffffff
js 0x470d54
jg 0x470d1a
cmp dword [ebp - 0x40], 0
jb 0x470d54
lea eax, [ebp + 8]
call fcn.00405b9a
mov eax, esi
or eax, edi
je 0x470d30
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x470d51
mov eax, dword [ebp + 8]
cmp word [eax], 0xd
jne 0x470d3e
inc eax
inc eax
mov dword [ebp + 8], eax
cmp word [eax], 0xa
jne 0x470d49
inc eax
inc eax
mov dword [ebp + 8], eax
cmp word [eax], 0
jne 0x470d02
jmp 0x470d54
mov eax, dword [ebp + 8]
sub eax, ebx
sar eax, 1
push eax
push ebx
lea ecx, [ebp - 0x1c]
call fcn.0044e844
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0x24]
call fcn.00444692
lea ecx, [ebp - 0x1c]
call fcn.0043e825
lea ecx, [ebp - 0xc]
call fcn.0043e825
jmp 0x470a07
push 8
lea ecx, [ebp - 0x10]
call fcn.00444e15
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 [0x4db338]
mov dword [ebp - 0x74], eax
jne 0x470db6
lea eax, [ebp - 0x74]
mov dword [ebp - 0x20], eax
jmp 0x470f03
push dword [ebp - 0x44]
lea eax, [ebp - 0x48]
mov dword [ebp - 0x20], eax
xor ebx, ebx
xor esi, esi
call fcn.00404ebb
test eax, eax
pop ecx
je 0x470de4
push 7
push 0x80000000
push dword [ebp - 0x44]
call fcn.00414638
add esp, 0xc
mov dword [ebp - 0x48], eax
jmp 0x470dff
push ebx
push 0x2000000
push 3
push ebx
push 7
push 0x80000000
push dword [ebp - 0x44]
lea ecx, [ebp - 0x48]
call fcn.00405c00
cmp dword [ebp - 0x48], ebx
je 0x470ea1
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 0x470e4a
cmp byte [ebp - 0x37], 0xfe
jne 0x470e82
mov dword [ebp - 8], 0x4b0
jmp 0x470e5d
cmp byte [ebp - 0x38], 0xfe
jne 0x470e61
cmp byte [ebp - 0x37], 0xff
jne 0x470e82
mov dword [ebp - 8], 0x4b1
push 2
jmp 0x470e7c
cmp byte [ebp - 0x38], 0xef
jne 0x470e82
cmp byte [ebp - 0x37], 0xbb
jne 0x470e82
cmp byte [ebp - 0x36], 0xbf
jne 0x470e82
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.0043fb25
mov ebx, edx
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x7c], eax
jg 0x470eae
jl 0x470ea1
test eax, eax
jae 0x470eae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x471253
cmp dword [ebp - 0x14], 0
je 0x470f03
push edi
call fcn.0049be72
test edx, edx
pop ecx
mov esi, eax
jg 0x470f03
jl 0x470ecb
cmp esi, 0x1000000
ja 0x470f03
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x58]
call fcn.00444e3a
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.0043fb25
push esi
push dword [ebp - 0x58]
call fcn.00454edc
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 0x470fdc
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.00444e3a
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 0x470f71
jg 0x470f6a
cmp dword [ebp - 0x30], edi
jbe 0x470f71
and dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], edi
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x2c]
jne 0x470fa0
test eax, eax
jne 0x470fa9
cmp byte [ebp - 1], 2
jne 0x470f8e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x470fa9
add dword [ebp - 0x38], 0xffffffff
adc dword [ebp - 0x34], 0xffffffff
js 0x470fa9
jg 0x470fa0
cmp dword [ebp - 0x38], 0
jb 0x470fa9
add esi, dword [ebp - 0x30]
mov byte [esi + ebx], 0
jmp 0x470f30
mov eax, dword [ebp - 8]
lea esi, [ebp - 0xc]
call fcn.0044c497
mov ecx, dword [ebp - 0x28]
push eax
push dword [ebp - 0x24]
call fcn.00444692
mov ecx, esi
call fcn.0043e825
lea ecx, [ebp - 0x48]
call fcn.00402cc5
lea ecx, [ebp - 0x10]
call fcn.0043e825
jmp 0x470a07
cmp byte [ebp - 2], 0
je 0x471079
mov eax, dword [ebp - 0x1c]
cmp eax, esi
jne 0x470ff2
mov eax, 0x4c2892
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x1c]
call fcn.0044e85d
xor ebx, ebx
mov bl, byte [ebp - 0xc]
or ebx, 1
lea ecx, [ebp - 0xc]
call fcn.00444f6c
cmp byte [ebp - 2], 0
jne 0x47101e
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x18]
call fcn.00444fd8
push ebx
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x20]
mov byte [ebp - 2], 0
call fcn.0044c1d0
add esp, 0x10
cmp byte [ebp - 1], 2
mov edi, eax
jne 0x471048
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x471069
mov eax, dword [ebp - 8]
lea esi, [ebp - 0xc]
call fcn.0044c497
push eax
lea ecx, [ebp - 0x18]
call fcn.00444fd8
mov ecx, esi
call fcn.0043e825
test edi, edi
je 0x471071
jmp 0x471005
lea ecx, [ebp - 0xc]
call fcn.0043e825
lea ecx, [ebp - 0x1c]
jmp 0x471237
cmp dword [ebp - 0x2c], esi
jg 0x4710e6
jl 0x471085
cmp dword [ebp - 0x30], esi
jae 0x4710e6
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.0044c1d0
add esp, 0x10
cmp byte [ebp - 1], 2
mov esi, eax
jne 0x4710b1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x4710bd
test esi, esi
je 0x4710bd
add edi, 1
adc ebx, 0
jmp 0x471089
push 0x20
lea ecx, [ebp - 0x18]
mov dword [ebp - 8], 0x4b0
call fcn.00444e3a
push ebx
push edi
push 0x4c22c0
push dword [ebp - 0x18]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x471243
mov eax, dword [ebp - 0x30]
xor ebx, ebx
or eax, dword [ebp - 0x2c]
jne 0x471135
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.0044c1d0
add esp, 0x10
cmp byte [ebp - 1], 2
mov esi, eax
jne 0x47112c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x471243
test esi, esi
jne 0x4710f6
jmp 0x471243
inc ebx
cmp esi, dword [ebp - 0x2c]
jg 0x47117b
jge 0x471176
push dword [ebp - 0xc]
lea eax, [ebp - 0x18]
push dword [ebp - 8]
push eax
push dword [ebp - 0x20]
call fcn.0044c1d0
add esp, 0x10
cmp byte [ebp - 1], 2
mov edi, eax
jne 0x471165
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x47117b
test edi, edi
je 0x47117b
add ebx, 1
adc esi, 0
cmp esi, dword [ebp - 0x2c]
jl 0x47113d
jg 0x47117b
cmp ebx, dword [ebp - 0x30]
jb 0x47113d
mov edi, dword [ebp - 0x40]
cmp edi, 1
mov eax, dword [ebp - 0x18]
mov byte [eax], 0
jne 0x4711ab
cmp dword [ebp - 0x3c], 0
jne 0x4711ab
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.0044c1d0
jmp 0x4710de
lea ecx, [ebp - 0x14]
call fcn.00444f6c
mov ebx, edi
test ebx, ebx
je 0x4711c8
add edi, 0xffffffff
adc dword [ebp - 0x3c], 0xffffffff
js 0x471234
jg 0x4711c8
test edi, edi
jb 0x471234
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.0044c1d0
add esp, 0x10
cmp byte [ebp - 1], 2
mov esi, eax
jne 0x4711fd
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x471234
test esi, esi
je 0x471234
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x14]
call fcn.0044c497
push eax
lea ecx, [ebp - 0x18]
call fcn.00444fd8
test ebx, ebx
je 0x471225
cmp dword [ebp - 0x3c], 0
jl 0x471234
jg 0x471225
test edi, edi
jbe 0x471234
push 0x4c5204
lea ecx, [ebp - 0x18]
call fcn.00444fd8
jmp 0x4711b5
lea ecx, [ebp - 0x14]
mov dword [ebp - 8], 0x4b0
call fcn.0043e825
mov eax, dword [ebp - 8]
lea esi, [ebp - 0x18]
call fcn.0044c497
mov dword [ebp - 0x5c], eax
xor esi, esi
lea ecx, [ebp - 0x48]
call fcn.00402cc5
lea ecx, [ebp - 0x10]
call fcn.0043e825
lea ecx, [ebp - 0x58]
call fcn.0043e825
push dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0x24]
call fcn.00444692
lea ecx, [ebp - 0x18]
call fcn.0043e825
lea ecx, [ebp - 0x60]
call fcn.0043e825
lea ecx, [ebp - 0x64]
call fcn.00402cc5
lea ecx, [ebp - 0x24]
call fcn.0043e825
lea ecx, [ebp - 0x44]
call fcn.0043e825
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 8