Function at 0x10027da0
Capabilities:
Enumerate files on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1e54
call fcn.1003a8f0
mov eax, dword [0x1003f6e4]
xor eax, esp
mov dword [esp + 0x1e50], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x1c]
mov esi, edx
push 0x30
mov dword [esp + 0x18], eax
mov ebx, ecx
lea eax, [esp + 0x5c]
mov dword [esp + 0x2c], edi
push 0
push eax
call sub.msvcrt.dll_memset
xor ecx, ecx
mov dword [esp + 0x58], 0
lea edx, [ebx + 0x68]
mov dword [esp + 0x2c], 0
add esp, 0xc
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], 1
mov dword [esp + 0x5c], 0xffffffff
cmp dword [edx], ecx
je 0x10027e32
mov ecx, dword [ebx + 0xc]
call fcn.1001a390
lea edx, [ebx + 0x68]
mov eax, dword [ebx + 0x1c]
test al, 1
je 0x10027e65
push 0
push ebx
push 0xfffffffffffffffe
push 0xfffffffffffffffe
push 0xa410
push 0xa4d8
push edx
push dword [ebx + 0xc]
mov edx, 0x10001ba0
mov ecx, 0x2b
call fcn.10019780
or edi, 0xffffffff
jmp 0x10028ca7
movzx ecx, word [ebx + 0x14]
test cx, cx
je 0x10027e73
cmp ecx, 3
jne 0x10027ea7
test eax, 0x200000
jne 0x10027ea7
mov eax, dword [ebx + 0xc]
mov ecx, 0x6a
push 0
push ebx
push 0xfffffffffffffffe
push 0xfffffffffffffffe
push 0xa410
push 0xa4d8
push edx
push eax
mov edx, 0x10001ba0
call fcn.10019780
or edi, 0xffffffff
jmp 0x10028ca7
mov ecx, ebx
call fcn.100276a0
test ax, ax
je 0x10027ec0
mov ecx, ebx
call fcn.100276a0
cmp ax, 1
jne 0x10027e5d
mov dx, word [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
test esi, esi
je 0x10027f20
cmp ax, 1
je 0x10027eda
cmp ax, 0xfffd
jne 0x10027f20
cmp word [esi], 0x25
jne 0x10027f20
test ecx, ecx
je 0x10027f75
test dx, dx
je 0x10027ef3
cmp word [ecx], 0
jne 0x10027f20
cmp dword [esp + 0x14], 0
mov eax, dword [ebp + 8]
je 0x10027f20
cmp word [ebp + 0x18], 0
je 0x10027f12
mov edi, dword [esp + 0x14]
cmp word [edi], 0
mov edi, dword [esp + 0x28]
jne 0x10027f20
mov edx, 1
mov dword [esp + 0x18], edx
jmp 0x10028147
test ecx, ecx
je 0x10027f75
cmp dx, 1
je 0x10027f30
cmp dx, 0xfffd
jne 0x10027f75
cmp word [ecx], 0x25
jne 0x10027f75
test esi, esi
je 0x10027f75
test ax, ax
je 0x10027f45
cmp word [esi], 0
jne 0x10027f75
mov edx, dword [esp + 0x14]
test edx, edx
je 0x10027f75
cmp word [ebp + 0x18], 0
je 0x10027f5a
cmp word [edx], 0
jne 0x10027f75
mov edx, dword [ebx + 0xc]
lea eax, [ebx + 0x68]
push ecx
push ebx
push eax
mov ecx, 0x6a
call fcn.1001a220
or edi, 0xffffffff
jmp 0x10028ca7
test edi, edi
je 0x10027fd4
mov dx, word [ebp + 0x20]
cmp dx, 1
je 0x10027f89
cmp dx, 0xfffd
jne 0x10027fd4
cmp word [edi], 0x25
jne 0x10027fd4
test esi, esi
je 0x10027fd4
test ax, ax
je 0x10027f9e
cmp word [esi], 0
jne 0x10027fd4
test ecx, ecx
je 0x10027fd4
cmp word [ebp + 0x10], 0
je 0x10027faf
cmp word [ecx], 0
jne 0x10027fd4
mov edi, dword [esp + 0x14]
mov edx, dword [ebp + 0x18]
test edi, edi
je 0x10027fd7
test dx, dx
je 0x10027fc5
cmp word [edi], 0
jne 0x10027fd7
mov ecx, ebx
call fcn.10028d60
movzx edi, ax
jmp 0x10028ca7
mov edx, dword [ebp + 0x18]
push 0xb08c
push edx
push dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x24], 0
push ecx
push ecx
push eax
mov ecx, ebx
call fcn.10005470
movzx edi, ax
test di, di
je 0x1002800e
cmp di, 0x64
jne 0x10028ca7
xor edi, edi
jmp 0x10028ca7
push 0x104
lea eax, [esp + 0x1a4c]
mov ecx, esi
push eax
lea edx, [ebp + 8]
call fcn.10031d20
mov ecx, dword [esp + 0x14]
lea edx, [ebp + 0x18]
mov esi, eax
lea eax, [esp + 0xa10]
push 0x104
push eax
call fcn.10031d20
push ecx
lea ecx, [esp + 0xa14]
mov edx, eax
push ecx
mov ecx, ebx
call fcn.100057c0
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x100280e7
push 0x25
push edi
call dword [sym.imp.msvcrt.dll_wcschr]
add esp, 8
test eax, eax
jne 0x10028084
push 0x5f
push edi
call dword [sym.imp.msvcrt.dll_wcschr]
add esp, 8
test eax, eax
jne 0x10028084
mov dword [esp + 0x44], edi
mov eax, dword [ebp + 0x18]
cmp ax, 1
jle 0x1002809a
cmp word [edi], 0x22
jne 0x1002809a
cmp word [edi + 2], 0x22
jne 0x100280a7
cmp word [edi], 0x60
jne 0x100280e7
cmp word [edi + 2], 0x60
je 0x100280e7
cwde
dec eax
push eax
push edi
lea eax, [esp + 0x500]
push 0x104
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy_s]
lea eax, [esp + 0x50a]
push eax
lea eax, [esp + 0x304]
push 0x104
push eax
call dword [sym.imp.msvcrt.dll_wcscpy_s]
lea eax, [esp + 0x30c]
add esp, 0x1c
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x28]
test edi, edi
je 0x1002813a
cmp word [ebp + 0x20], 0
je 0x1002813a
cmp word [edi], 0
je 0x1002813a
push 0x104
lea eax, [esp + 0x1c54]
mov ecx, edi
push eax
lea edx, [ebp + 0x20]
call fcn.10031d20
mov edi, eax
mov dword [esp + 0x28], edi
test edi, edi
je 0x10028130
cmp word [edi], 0
je 0x10028130
mov ecx, edi
call fcn.10029dc0
mov dword [esp + 0x2c], eax
jmp 0x10028142
mov dword [esp + 0x2c], 0x20002
jmp 0x10028142
mov dword [esp + 0x2c], 0x20072
mov eax, dword [ebp + 8]
xor edx, edx
test esi, esi
je 0x1002815c
movzx ecx, word [esi]
test cx, cx
je 0x1002815c
cmp ecx, 0x25
je 0x1002815c
mov ecx, esi
jmp 0x10028194
cmp dx, 1
je 0x10028183
test esi, esi
je 0x10028183
cmp ax, 1
je 0x10028172
cmp ax, 0xfffd
jne 0x10028183
cmp word [esi], 0x25
jne 0x10028183
mov esi, 2
mov dword [esp + 0x18], esi
jmp 0x1002819c
mov eax, dword [ebx + 0x64]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x10028198
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x18]
push 0xb08c
push 0x1003f6ec
lea eax, [esp + 0x2e4]
mov edx, 5
push eax
push ecx
push 0x10040eb0
mov ecx, ebx
call fcn.1002a2f0
movzx edi, ax
test di, di
je 0x100281d2
cmp di, 1
jne 0x10028c59
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100281f0
cmp word [ebp + 0x20], 0
je 0x100281e7
cmp word [eax], 0
jne 0x100281f0
test si, si
je 0x10028007
xor eax, eax
mov dword [esp + 0x28], eax
test di, di
je 0x10028205
cmp di, 1
jne 0x10028c3d
test eax, eax
jne 0x10028c3d
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10028231
mov ecx, dword [ebx + 0x64]
cmp eax, dword [ecx + 0x58]
je 0x10028231
push 0
push eax
push dword [ecx + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_107]
mov dword [esp + 0x30], 0
mov eax, dword [ebx + 0x64]
push 1
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_153]
mov dword [esp + 0x10], 0
cmp si, 2
je 0x10028264
cmp si, 1
je 0x10028264
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x10028007
jmp 0x100283fe
mov esi, dword [ebx + 0x64]
mov eax, dword [esi + 0xac]
movzx ecx, byte [esi + 0xa9]
mov ecx, dword [eax + ecx*4 + 0x3c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x24], ecx
test eax, eax
jne 0x1002829b
xor edx, edx
mov ecx, ebx
call fcn.100297f0
mov dword [esi + 0x2c], eax
test eax, eax
je 0x1002835d
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x100282e3
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x100282dc
push eax
mov eax, dword [esi + 0xac]
push dword [eax + 0xa4]
lea eax, [esp + 0x708]
push 0x186
push 0x187
push eax
call dword [sym.imp.msvcrt.dll__snwprintf_s]
add esp, 0x14
mov dword [esp + 0x20], 1
jmp 0x100283ef
inc ecx
mov dword [esp + 0x20], ecx
jmp 0x10028361
cmp dword [esp + 0x20], 0
jne 0x10028335
push ecx
push eax
push 0x10003b74
push 0x186
lea eax, [esp + 0xc28]
push 0x187
push eax
call dword [sym.imp.msvcrt.dll__snwprintf_s]
add esp, 0x18
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0xc1c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x34], eax
cmp eax, 0xffffffff
jne 0x1002837d
mov dword [esp + 0x20], 1
jmp 0x10028361
lea eax, [esp + 0x88]
push eax
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1002837d
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [esp + 0x34], 0
inc dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ecx
jmp 0x10028402
mov edx, dword [esi + 0x2c]
test edx, edx
je 0x100283ba
cmp word [edx], 0
je 0x100283ba
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x24], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10028393
sub ecx, dword [esp + 0x24]
sar ecx, 1
cmp word [edx + ecx*2 - 2], 0x5c
jne 0x100283ba
mov eax, dword [esi + 0xac]
mov eax, dword [eax + 0xac]
jmp 0x100283c6
mov eax, dword [esi + 0xac]
mov eax, dword [eax + 0xa8]
lea ecx, [esp + 0xb4]
push ecx
push edx
push eax
push 0x186
lea eax, [esp + 0x710]
push 0x187
push eax
call dword [sym.imp.msvcrt.dll__snwprintf_s]
add esp, 0x18
inc dword [esp + 0x20]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x700]
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x28]
cmp si, 2
je 0x10028419
xor esi, esi
mov dword [esp + 0x1c], esi
cmp word [esp + 0x18], si
jne 0x10028595
xor esi, esi
mov dword [esp + 0x1c], esi
test eax, eax
jne 0x10028595
lea eax, [esp + 0x30]
mov edx, ecx
push eax
push 0x30e
lea eax, [esp + 0x708]
mov ecx, ebx
push eax
call fcn.10030180
movsx esi, ax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x10028bdc
cmp word [esp + 0x18], 1
je 0x10028595
lea ecx, [ecx]
push 0x30
lea eax, [esp + 0x5c]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x5c], 0xffffffff
lea eax, [esp + 0x58]
push 1
push 0x30
push eax
push dword [esp + 0x50]
mov eax, dword [ebx + 0x64]
push 0
push dword [esp + 0x50]
push dword [esp + 0x48]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_140]
mov esi, dword [ebx + 0x64]
mov dword [esp + 0x1c], eax
cmp byte [esi + 0xa8], 0x1b
movzx edx, byte [esi + 0xa9]
mov ecx, dword [esi + 0xac]
mov ecx, dword [ecx + edx*4 + 0x3c]
je 0x100284eb
test ecx, ecx
jne 0x1002851e
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002851e
cmp word [ecx], 0
je 0x1002851e
push 0x23
push ecx
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x1002851e
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
xor edx, edx
jmp 0x1002851a
test ecx, ecx
jne 0x1002851e
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1002851e
cmp word [ecx], 0
je 0x1002851e
push 0x23
push ecx
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x1002851e
mov ecx, dword [esp + 0x14]
mov edx, 0x2e
sub eax, ecx
sar eax, 1
mov word [ecx + eax*2], dx
mov esi, dword [esp + 0x1c]
cmp esi, 0xfffffc15
jne 0x10028542
cmp dword [esp + 0x3c], 0
jne 0x10028bba
mov dword [esp + 0x3c], 1
jmp 0x10028460
cmp esi, 0xfffff9bd
je 0x1002858a
cmp esi, 0xfffffae7
je 0x1002858a
test esi, esi
jne 0x10028bba
cmp dword [esp + 0x40], esi
je 0x10028595
mov eax, dword [ebx + 0x64]
push esi
push Ordinal_3
push dword [esp + 0x64]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_156]
mov esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0xfffff9bd
je 0x10028bed
jmp 0x10028595
cmp dword [esp + 0x40], 0
jne 0x10028bed
mov ecx, dword [ebx + 0x64]
lea eax, [esp + 0x1640]
push 0x201
push eax
lea edx, [esp + 0x708]
call fcn.1000bcf0
test di, di
je 0x100285c0
cmp di, 1
jne 0x10028b9e
test esi, esi
jne 0x10028b9e
cmp word [esp + 0x10], si
jne 0x10028b9e
mov eax, dword [ebx + 0x64]
push esi
push dword [ebx + 0x20]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_159]
mov edi, dword [ebx + 0x64]
test eax, eax
js 0x10028b36
lea ecx, [esp + 0x1640]
lea edx, [ecx + 2]
jmp 0x10028600
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10028600
sub ecx, edx
push 0
sar ecx, 1
push 0
lea eax, [ecx + ecx]
push eax
lea eax, [esp + 0x164c]
push eax
push dword [esp + 0x2f0]
push dword [ebx + 0x20]
push dword [edi + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_172]
test eax, eax
js 0x10028ae2
mov eax, dword [esp + 0x18]
xor edi, edi
test ax, ax
je 0x1002864f
cmp ax, 2
jne 0x100289b4
push 0
push 0
lea eax, [esp + 0x50]
push eax
push 0x206
lea eax, [esp + 0x300]
push eax
push dword [esp + 0x7c]
mov eax, dword [ebx + 0x64]
push dword [esp + 0x74]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_167]
test eax, eax
jne 0x10028c29
mov eax, dword [esp + 0x48]
shr eax, 1
mov dword [esp + 0x40], esi
cmp eax, 0x104
jae 0x10028c12
add eax, eax
cmp eax, 0x208
jae 0x10028cc1
xor ecx, ecx
mov word [esp + eax + 0x2f0], cx
mov eax, dword [ebx + 0x64]
movzx ecx, byte [eax + 0xa9]
mov eax, dword [eax + 0xac]
cmp dword [eax + ecx*4 + 0x3c], esi
jne 0x100286fc
cmp word [esp + 0x2f0], si
je 0x100286fc
lea eax, [esp + 0x2f0]
push 0x23
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x100286fc
lea ecx, [esp + 0x2f0]
sub eax, ecx
mov ecx, 0x2e
sar eax, 1
mov word [esp + eax*2 + 0x2f0], cx
push 0
push 0
push dword [esp + 0x50]
lea eax, [esp + 0x2fc]
push eax
push dword [esp + 0x2f8]
mov eax, dword [ebx + 0x64]
push dword [ebx + 0x20]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_172]
test eax, eax
js 0x10028bf1
xor eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10028755
sub esp, 8
lea ecx, [esp + 0x2f8]
mov edx, eax
call fcn.10029960
test eax, eax
jne 0x10028755
lea esi, [eax + 1]
jmp 0x10028880
push 8
lea eax, [esp + 0x2f4]
push eax
push 0x10003b64
call dword [sym.imp.msvcrt.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x10028779
lea esi, [eax + 1]
jmp 0x10028880
lea eax, [esp + 0x38]
push eax
push ecx
lea eax, [esp + 0x500]
mov ecx, ebx
push eax
lea edx, [esp + 0x64]
call fcn.1002f8b0
test byte [esp + 0x38], 0x20
movzx edi, ax
je case.0x100287db.0
push 0
push 0
push 0
push 4
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x90]
mov eax, dword [ebx + 0x64]
push dword [esp + 0x74]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_167]
mov dword [esp + 0x1c], eax
movsx eax, word [esp + 0x50]
cmp eax, 0x80
ja case.0x100287db.1
movzx eax, byte [eax + 0x10028cd0]
jmp dword [eax*4 + 0x10028cc8]
lea eax, [esp + 0x4f8]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100287f0
sub eax, edx
sar eax, 1
add eax, eax
je 0x1002883e
push 0
push 0
push eax
lea eax, [esp + 0x504]
push eax
push dword [esp + 0x2ec]
mov eax, dword [ebx + 0x64]
push dword [ebx + 0x20]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_172]
test eax, eax
je 0x1002883e
mov edx, dword [ebx + 0x64]
lea ecx, [ebx + 0x68]
push ebx
push ecx
mov ecx, eax
call fcn.1001a180
or edi, 0xffffffff
jmp 0x10028840
xor edi, edi
xor esi, esi
cmp word [esp + 0x4f8], si
jne 0x10028851
mov esi, 1
mov eax, dword [ebx + 0x64]
test dword [eax + 0x5c], 0x100
jne 0x1002886c
mov eax, dword [esp + 0x2c]
test dword [esp + 0x38], eax
jne 0x1002886c
mov esi, 1
test di, di
je 0x1002887b
cmp di, 1
jne 0x10028994
test si, si
je 0x1002888e
cmp dword [esp + 0x2c], 0x20000
jne 0x10028994
mov eax, dword [ebx + 0x64]
cmp byte [eax + 0xa8], 0x16
jne 0x10028994
mov al, byte [eax + 0xa9]
test al, al
je 0x100288b0
cmp al, 3
jne 0x10028994
test byte [esp + 0x38], 2
je 0x10028994
lea eax, [esp + 0x2f0]
push 0x24
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
mov edx, eax
add esp, 8
test edx, edx
je 0x10028988
lea ecx, [esp + 0x2f0]
lea eax, [ecx + 2]
mov dword [esp + 0x54], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100288e6
sub ecx, dword [esp + 0x54]
sar ecx, 1
lea eax, [esp + ecx*2 + 0x2ee]
cmp edx, eax
jne 0x1002897e
push 0x104
lea edx, [esp + 0x4fc]
mov ecx, 0xafcf
call fcn.10032350
lea ecx, [esp + 0x4f8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10028922
sub ecx, edx
sar ecx, 1
add ecx, ecx
je 0x1002897a
push 0
push 0
push ecx
lea eax, [esp + 0x504]
push eax
push dword [esp + 0x2ec]
mov eax, dword [ebx + 0x64]
push dword [ebx + 0x20]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_172]
test eax, eax
je 0x1002897a
mov edx, dword [ebx + 0x64]
lea ecx, [ebx + 0x68]
push ebx
push ecx
mov ecx, eax
call fcn.1001a180
or edi, 0xffffffff
xor esi, esi
test dword [esp + 0x2c], 0x20000
jmp 0x1002898d
xor edi, edi
xor esi, esi
test dword [esp + 0x2c], 0x20000
jmp 0x1002898d
test byte [esp + 0x2c], 2
jne 0x10028994
mov esi, 1
cmp di, 0x64
jne 0x100289a5
mov esi, 1
mov dword [esp + 0x10], esi
jmp 0x100289b4
test di, di
je 0x100289b4
cmp di, 1
jne 0x10028b9e
mov eax, dword [ebx + 0x64]
mov ecx, dword [ebx + 0x20]
mov eax, dword [eax + 0x54]
test si, si
jne 0x100289d2
push 0
push 0
push 0
push ecx
push eax
call dword [sym.imp.msjet40.dll_Ordinal_179]
jmp 0x100289dc
push 3
push ecx
push eax
call dword [sym.imp.msjet40.dll_Ordinal_159]
test eax, eax
js 0x10028ae2
mov eax, dword [esp + 0x18]
inc dword [esp + 0x4c]
movzx eax, ax
sub eax, 0
je 0x10028aa9
sub eax, 1
je 0x10028a96
sub eax, 1
jne 0x10028a8b
push eax
mov eax, dword [ebx + 0x64]
push 1
push dword [esp + 0x64]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_156]
mov esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0xfffff9bd
jne 0x10028a8f
mov esi, dword [ebx + 0x64]
mov edi, dword [esp + 0x5c]
push edi
mov dword [esp + 0x14], 1
push dword [esi + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_108]
cmp eax, 0xfffffbac
jne 0x10028a70
mov ecx, dword [esi + 0x7c]
lea edx, [esi + 0x74]
call fcn.10019700
test eax, eax
je 0x10028a83
mov esi, dword [esp + 0x1c]
mov dword [eax + 8], edi
xor edi, edi
mov dword [esp + 0x5c], 0xffffffff
jmp 0x100285b1
test eax, eax
jns 0x10028a83
mov edx, dword [ebx + 0x64]
lea ecx, [ebx + 0x68]
push ebx
push ecx
mov ecx, eax
call fcn.10055ce0
mov dword [esp + 0x5c], 0xffffffff
mov esi, dword [esp + 0x1c]
xor edi, edi
jmp 0x100285b1
mov esi, dword [esp + 0x1c]
xor edi, edi
mov dword [esp + 0x10], 1
jmp 0x100285b1
mov eax, dword [ebx + 0x64]
push 0
push 1
push dword [esp + 0x64]
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_156]
mov esi, eax
mov dword [esp + 0x1c], esi
cmp esi, 0xfffff9bd
jne 0x10028a8f
mov dword [esp + 0x28], 1
xor edi, edi
mov dword [esp + 0x10], 1
jmp 0x100285b1
mov esi, dword [ebx + 0x64]
lea edx, [esp + 0x10]
mov dword [esp + 0x10], eax
mov ecx, esi
push 0x514
lea eax, [esp + 0xc1c]
push eax
call fcn.1001a470
mov ecx, dword [esp + 0x10]
lea edx, [ebx + 0x68]
xor eax, eax
test ecx, ecx
push 0
sets al
push ebx
dec eax
push 0xfffffffffffffffe
and eax, 0xa410
push 0xfffffffffffffffe
push eax
xor eax, eax
test ecx, ecx
setns al
dec eax
and eax, 0xffffa948
add eax, 0xa4d8
push eax
push edx
push dword [esi + 0x7c]
jmp 0x10028b85
mov dword [esp + 0x10], eax
lea edx, [esp + 0x10]
push 0x514
lea eax, [esp + 0xc1c]
mov ecx, edi
push eax
call fcn.1001a470
mov ecx, dword [esp + 0x10]
xor eax, eax
push 0
test ecx, ecx
push ebx
sets al
dec eax
and eax, 0xa410
push 0xfffffffffffffffe
push 0xfffffffffffffffe
push eax
xor eax, eax
test ecx, ecx
setns al
dec eax
and eax, 0xffffa948
add eax, 0xa4d8
push eax
lea eax, [ebx + 0x68]
push eax
push dword [edi + 0x7c]
xor edx, edx
lea eax, [esp + 0xc38]
test ecx, ecx
setns dl
dec edx
and edx, eax
call fcn.10019780
or edi, 0xffffffff
mov esi, dword [esp + 0x18]
xor eax, eax
cmp di, 0x64
sete al
dec eax
and eax, edi
movzx edi, ax
mov eax, dword [esp + 0x28]
jmp 0x100281f6
mov eax, dword [ebx + 0x64]
push 1
push dword [eax + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_153]
mov edx, dword [ebx + 0x64]
lea eax, [ebx + 0x68]
push ebx
push eax
mov ecx, esi
call fcn.1001a180
or edi, 0xffffffff
jmp 0x10028c59
cmp dword [ebx + 0x68], 0
je 0x10028bed
mov ecx, dword [ebx + 0xc]
lea edx, [ebx + 0x68]
call fcn.1001a390
xor edi, edi
jmp 0x10028c59
mov edx, dword [ebx + 0x64]
lea esi, [ebx + 0x68]
push ebx
push esi
mov ecx, eax
call fcn.1001a180
mov edx, dword [ebx + 0x64]
or ecx, 0xffffffff
push ebx
push esi
call fcn.1001a180
or edi, 0xffffffff
jmp 0x10028c59
push ebx
lea edx, [ebx + 0x68]
mov ecx, 0xfffffc0d
push edx
mov edx, dword [ebx + 0x64]
call fcn.1001a180
or edi, 0xffffffff
jmp 0x10028c59
push ebx
lea edx, [ebx + 0x68]
mov ecx, eax
push edx
mov edx, dword [ebx + 0x64]
call fcn.1001a180
or edi, 0xffffffff
jmp 0x10028c59
test di, di
je 0x10028c55
cmp di, 1
je 0x10028c55
push ecx
mov edx, 0x3e8
mov ecx, ebx
call fcn.10025900
stosd dword es:[edi], eax
int3
or dword [ebx + 0x1c], 1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10028c75
mov ecx, dword [ebx + 0x64]
cmp eax, dword [ecx + 0x58]
je 0x10028c75
push 0
push eax
push dword [ecx + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_107]
mov edx, dword [esp + 0x5c]
cmp edx, 0xffffffff
je 0x10028c85
mov ecx, ebx
call fcn.1002f4f0
test di, di
je 0x10028c99
cmp di, 1
je 0x10028c99
xor edx, edx
mov ecx, ebx
call fcn.10025b80
mov ecx, dword [ebx + 0x64]
push 1
push dword [ecx + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_153]
mov ecx, dword [esp + 0x1e5c]
mov ax, di
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1003a1d0
mov esp, ebp
pop ebp
ret 0x1c
call fcn.1003a318
mov edi, edi
loop 0x10028c51
add dl, byte [eax]
mov byte [bp + si], al
adc byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
int3