Function at 0x100282b0
Capabilities:
Enumerate files on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2164
call fcn.1003aec0
mov eax, dword [0x1003f6e4]
xor eax, esp
mov dword [esp + 0x2160], 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 0x10028342
mov ecx, dword [ebx + 0xc]
call fcn.1001a940
lea edx, [ebx + 0x68]
mov eax, dword [ebx + 0x1c]
test al, 1
je 0x10028375
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.10019d30
or edi, 0xffffffff
jmp 0x100291be
movzx ecx, word [ebx + 0x14]
test ecx, ecx
je 0x10028382
cmp ecx, 3
jne 0x100283b6
test eax, 0x200000
jne 0x100283b6
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.10019d30
or edi, 0xffffffff
jmp 0x100291be
mov ecx, ebx
call fcn.10027bb0
test ax, ax
je 0x100283cf
mov ecx, ebx
call fcn.10027bb0
cmp ax, 1
jne 0x1002836d
mov dx, word [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
test esi, esi
je 0x1002842f
cmp ax, 1
je 0x100283e9
cmp ax, 0xfffd
jne 0x1002842f
cmp word [esi], 0x25
jne 0x1002842f
test ecx, ecx
je 0x10028484
test dx, dx
je 0x10028402
cmp word [ecx], 0
jne 0x1002842f
cmp dword [esp + 0x14], 0
mov eax, dword [ebp + 8]
je 0x1002842f
cmp word [ebp + 0x18], 0
je 0x10028421
mov edi, dword [esp + 0x14]
cmp word [edi], 0
mov edi, dword [esp + 0x28]
jne 0x1002842f
mov edx, 1
mov dword [esp + 0x18], edx
jmp 0x10028656
test ecx, ecx
je 0x10028484
cmp dx, 1
je 0x1002843f
cmp dx, 0xfffd
jne 0x10028484
cmp word [ecx], 0x25
jne 0x10028484
test esi, esi
je 0x10028484
test ax, ax
je 0x10028454
cmp word [esi], 0
jne 0x10028484
mov edx, dword [esp + 0x14]
test edx, edx
je 0x10028484
cmp word [ebp + 0x18], 0
je 0x10028469
cmp word [edx], 0
jne 0x10028484
mov edx, dword [ebx + 0xc]
lea eax, [ebx + 0x68]
push ecx
push ebx
push eax
mov ecx, 0x6a
call fcn.1001a7d0
or edi, 0xffffffff
jmp 0x100291be
test edi, edi
je 0x100284e3
mov dx, word [ebp + 0x20]
cmp dx, 1
je 0x10028498
cmp dx, 0xfffd
jne 0x100284e3
cmp word [edi], 0x25
jne 0x100284e3
test esi, esi
je 0x100284e3
test ax, ax
je 0x100284ad
cmp word [esi], 0
jne 0x100284e3
test ecx, ecx
je 0x100284e3
cmp word [ebp + 0x10], 0
je 0x100284be
cmp word [ecx], 0
jne 0x100284e3
mov edi, dword [esp + 0x14]
mov edx, dword [ebp + 0x18]
test edi, edi
je 0x100284e6
test dx, dx
je 0x100284d4
cmp word [edi], 0
jne 0x100284e6
mov ecx, ebx
call fcn.10029270
movzx edi, ax
jmp 0x100291be
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.10005640
movzx edi, ax
test di, di
je 0x1002851d
cmp di, 0x64
jne 0x100291be
xor edi, edi
jmp 0x100291be
push 0x104
lea eax, [esp + 0x1d5c]
mov ecx, esi
push eax
lea edx, [ebp + 8]
call fcn.100322e0
mov ecx, dword [esp + 0x14]
lea edx, [ebp + 0x18]
mov esi, eax
lea eax, [esp + 0xa10]
push 0x104
push eax
call fcn.100322e0
push ecx
lea ecx, [esp + 0xa14]
mov edx, eax
push ecx
mov ecx, ebx
call fcn.10005990
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x100285f6
push 0x25
push edi
call dword [sym.imp.msvcrt.dll_wcschr]
add esp, 8
test eax, eax
jne 0x10028593
push 0x5f
push edi
call dword [sym.imp.msvcrt.dll_wcschr]
add esp, 8
test eax, eax
jne 0x10028593
mov dword [esp + 0x44], edi
mov eax, dword [ebp + 0x18]
cmp ax, 1
jle 0x100285a9
cmp word [edi], 0x22
jne 0x100285a9
cmp word [edi + 2], 0x22
jne 0x100285b6
cmp word [edi], 0x60
jne 0x100285f6
cmp word [edi + 2], 0x60
je 0x100285f6
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 0x10028649
cmp word [ebp + 0x20], 0
je 0x10028649
cmp word [edi], 0
je 0x10028649
push 0x104
lea eax, [esp + 0x1f64]
mov ecx, edi
push eax
lea edx, [ebp + 0x20]
call fcn.100322e0
mov edi, eax
mov dword [esp + 0x28], edi
test edi, edi
je 0x1002863f
cmp word [edi], 0
je 0x1002863f
mov ecx, edi
call fcn.1002a340
mov dword [esp + 0x2c], eax
jmp 0x10028651
mov dword [esp + 0x2c], 0x20002
jmp 0x10028651
mov dword [esp + 0x2c], 0x20072
mov eax, dword [ebp + 8]
xor edx, edx
test esi, esi
je 0x1002866b
movzx ecx, word [esi]
test cx, cx
je 0x1002866b
cmp ecx, 0x25
je 0x1002866b
mov ecx, esi
jmp 0x100286a3
cmp dx, 1
je 0x10028692
test esi, esi
je 0x10028692
cmp ax, 1
je 0x10028681
cmp ax, 0xfffd
jne 0x10028692
cmp word [esi], 0x25
jne 0x10028692
mov esi, 2
mov dword [esp + 0x18], esi
jmp 0x100286ab
mov eax, dword [ebx + 0x64]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x100286a7
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.1002a540
movzx edi, ax
test di, di
je 0x100286e1
cmp di, 1
jne 0x10029170
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100286ff
cmp word [ebp + 0x20], 0
je 0x100286f6
cmp word [eax], 0
jne 0x100286ff
test si, si
je 0x10028516
xor eax, eax
mov dword [esp + 0x28], eax
test di, di
je 0x10028714
cmp di, 1
jne 0x10029154
test eax, eax
jne 0x10029154
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10028740
mov ecx, dword [ebx + 0x64]
cmp eax, dword [ecx + 0x58]
je 0x10028740
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 0x10028773
cmp si, 1
je 0x10028773
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x10028516
jmp 0x1002890d
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 0x100287aa
xor edx, edx
mov ecx, ebx
call fcn.10029d10
mov dword [esi + 0x2c], eax
test eax, eax
je 0x1002886c
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x100287f2
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x100287eb
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 0x100288fe
inc ecx
mov dword [esp + 0x20], ecx
jmp 0x10028870
cmp dword [esp + 0x20], 0
jne 0x10028844
push ecx
push eax
push 0x10003b74
push 0x186
lea eax, [esp + 0x1650]
push 0x187
push eax
call dword [sym.imp.msvcrt.dll__snwprintf_s]
add esp, 0x18
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x1644]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x34], eax
cmp eax, 0xffffffff
jne 0x1002888c
mov dword [esp + 0x20], 1
jmp 0x10028870
lea eax, [esp + 0x88]
push eax
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1002888c
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 0x10028911
mov edx, dword [esi + 0x2c]
test edx, edx
je 0x100288c9
cmp word [edx], 0
je 0x100288c9
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x24], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100288a2
sub ecx, dword [esp + 0x24]
sar ecx, 1
cmp word [edx + ecx*2 - 2], 0x5c
jne 0x100288c9
mov eax, dword [esi + 0xac]
mov eax, dword [eax + 0xac]
jmp 0x100288d5
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 0x10028928
xor esi, esi
mov dword [esp + 0x1c], esi
cmp word [esp + 0x18], si
jne 0x10028aa8
xor esi, esi
mov dword [esp + 0x1c], esi
test eax, eax
jne 0x10028aa8
lea eax, [esp + 0x30]
mov edx, ecx
push eax
push 0x30e
lea eax, [esp + 0x708]
mov ecx, ebx
push eax
call fcn.100306b0
movsx esi, ax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x100290f3
cmp word [esp + 0x18], 1
je 0x10028aa8
lea esp, [esp]
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]
lea ecx, [ecx + edx*4]
je 0x100289fc
cmp dword [ecx + 0x3c], 0
jne 0x10028a31
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10028a31
cmp word [ecx], 0
je 0x10028a31
push 0x23
push ecx
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x10028a31
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
xor edx, edx
jmp 0x10028a2d
cmp dword [ecx + 0x3c], 0
jne 0x10028a31
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x10028a31
cmp word [ecx], 0
je 0x10028a31
push 0x23
push ecx
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x10028a31
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 0x10028a55
cmp dword [esp + 0x3c], 0
jne 0x100290ce
mov dword [esp + 0x3c], 1
jmp 0x10028970
cmp esi, 0xfffff9bd
je 0x10028a9d
cmp esi, 0xfffffae7
je 0x10028a9d
test esi, esi
jne 0x100290ce
cmp dword [esp + 0x40], esi
je 0x10028aa8
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 0x10029104
jmp 0x10028aa8
cmp dword [esp + 0x40], 0
jne 0x10029104
mov ecx, dword [ebx + 0x64]
lea eax, [esp + 0x1950]
push 0x201
push eax
lea edx, [esp + 0x708]
call fcn.1000c070
test di, di
je 0x10028ad3
cmp di, 1
jne 0x100290b2
test esi, esi
jne 0x100290b2
cmp word [esp + 0x10], si
jne 0x100290b2
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 0x1002904a
lea ecx, [esp + 0x1950]
lea edx, [ecx + 2]
jmp 0x10028b10
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10028b10
sub ecx, edx
push 0
sar ecx, 1
push 0
lea eax, [ecx + ecx]
push eax
lea eax, [esp + 0x195c]
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 0x10028ff6
mov eax, dword [esp + 0x18]
xor edi, edi
test ax, ax
je 0x10028b5f
cmp ax, 2
jne 0x10028ec8
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 0x10029140
mov eax, dword [esp + 0x48]
shr eax, 1
mov dword [esp + 0x40], esi
cmp eax, 0x104
jae 0x10029129
add eax, eax
cmp eax, 0x208
jae 0x100291d8
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 0x10028c0c
cmp word [esp + 0x2f0], si
je 0x10028c0c
lea eax, [esp + 0x2f0]
push 0x23
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x10028c0c
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 0x10029108
xor eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10028c66
push 1
push 0x5c
mov edx, eax
lea ecx, [esp + 0x2f8]
call fcn.10029e80
test eax, eax
jne 0x10028c66
lea esi, [eax + 1]
jmp 0x10028d90
push 8
lea eax, [esp + 0x2f4]
push eax
push 0x10003b64
call dword [sym.imp.msvcrt.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x10028c8a
lea esi, [eax + 1]
jmp 0x10028d90
lea eax, [esp + 0x38]
push eax
push ecx
lea eax, [esp + 0x500]
mov ecx, ebx
push eax
lea edx, [esp + 0x64]
call fcn.1002fd70
test byte [esp + 0x38], 0x20
movzx edi, ax
je case.0x10028cec.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.0x10028cec.1
movzx eax, byte [eax + 0x100291e8]
jmp dword [eax*4 + 0x100291e0]
lea eax, [esp + 0x4f8]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10028d00
sub eax, edx
sar eax, 1
add eax, eax
je 0x10028d4e
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 0x10028d4e
mov edx, dword [ebx + 0x64]
lea ecx, [ebx + 0x68]
push ebx
push ecx
mov ecx, eax
call fcn.1001a730
or edi, 0xffffffff
jmp 0x10028d50
xor edi, edi
xor esi, esi
cmp word [esp + 0x4f8], si
jne 0x10028d61
mov esi, 1
mov eax, dword [ebx + 0x64]
test dword [eax + 0x5c], 0x100
jne 0x10028d7c
mov eax, dword [esp + 0x2c]
test dword [esp + 0x38], eax
jne 0x10028d7c
mov esi, 1
test di, di
je 0x10028d8b
cmp di, 1
jne 0x10028ea8
test si, si
je 0x10028d9e
cmp dword [esp + 0x2c], 0x20000
jne 0x10028ea8
mov eax, dword [ebx + 0x64]
cmp byte [eax + 0xa8], 0x16
jne 0x10028ea8
mov al, byte [eax + 0xa9]
test al, al
je 0x10028dc0
cmp al, 3
jne 0x10028ea8
test byte [esp + 0x38], 2
je 0x10028ea8
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 0x10028e9c
lea ecx, [esp + 0x2f0]
lea eax, [ecx + 2]
mov dword [esp + 0x54], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10028df6
sub ecx, dword [esp + 0x54]
sar ecx, 1
lea eax, [esp + ecx*2 + 0x2ee]
cmp edx, eax
jne 0x10028e92
push 0x104
lea edx, [esp + 0x4fc]
mov ecx, 0xafcf
call fcn.10032910
lea ecx, [esp + 0x4f8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10028e36
sub ecx, edx
sar ecx, 1
add ecx, ecx
je 0x10028e8e
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 0x10028e8e
mov edx, dword [ebx + 0x64]
lea ecx, [ebx + 0x68]
push ebx
push ecx
mov ecx, eax
call fcn.1001a730
or edi, 0xffffffff
xor esi, esi
test dword [esp + 0x2c], 0x20000
jmp 0x10028ea1
xor edi, edi
xor esi, esi
test dword [esp + 0x2c], 0x20000
jmp 0x10028ea1
test byte [esp + 0x2c], 2
jne 0x10028ea8
mov esi, 1
cmp di, 0x64
jne 0x10028eb9
mov esi, 1
mov dword [esp + 0x10], esi
jmp 0x10028ec8
test di, di
je 0x10028ec8
cmp di, 1
jne 0x100290b2
mov eax, dword [ebx + 0x64]
mov ecx, dword [ebx + 0x20]
mov eax, dword [eax + 0x54]
test si, si
jne 0x10028ee6
push 0
push 0
push 0
push ecx
push eax
call dword [sym.imp.msjet40.dll_Ordinal_179]
jmp 0x10028ef0
push 3
push ecx
push eax
call dword [sym.imp.msjet40.dll_Ordinal_159]
test eax, eax
js 0x10028ff6
mov eax, dword [esp + 0x18]
inc dword [esp + 0x4c]
movzx eax, ax
sub eax, 0
je 0x10028fbd
sub eax, 1
je 0x10028faa
sub eax, 1
jne 0x10028f9f
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 0x10028fa3
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 0x10028f84
mov ecx, dword [esi + 0x7c]
lea edx, [esi + 0x74]
call fcn.10019cb0
test eax, eax
je 0x10028f97
mov esi, dword [esp + 0x1c]
mov dword [eax + 8], edi
xor edi, edi
mov dword [esp + 0x5c], 0xffffffff
jmp 0x10028ac4
test eax, eax
jns 0x10028f97
mov edx, dword [ebx + 0x64]
lea ecx, [ebx + 0x68]
push ebx
push ecx
mov ecx, eax
call fcn.1001a730
mov dword [esp + 0x5c], 0xffffffff
mov esi, dword [esp + 0x1c]
xor edi, edi
jmp 0x10028ac4
mov esi, dword [esp + 0x1c]
xor edi, edi
mov dword [esp + 0x10], 1
jmp 0x10028ac4
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 0x10028fa3
mov dword [esp + 0x28], 1
xor edi, edi
mov dword [esp + 0x10], 1
jmp 0x10028ac4
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.1001aa20
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 0x10029099
mov dword [esp + 0x10], eax
lea edx, [esp + 0x10]
push 0x514
lea eax, [esp + 0xc1c]
mov ecx, edi
push eax
call fcn.1001aa20
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.10019d30
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 0x10028705
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.1001a730
or edi, 0xffffffff
jmp 0x10029170
cmp dword [ebx + 0x68], 0
je 0x10029104
mov ecx, dword [ebx + 0xc]
lea edx, [ebx + 0x68]
call fcn.1001a940
xor edi, edi
jmp 0x10029170
mov edx, dword [ebx + 0x64]
lea esi, [ebx + 0x68]
push ebx
push esi
mov ecx, eax
call fcn.1001a730
mov edx, dword [ebx + 0x64]
or ecx, 0xffffffff
push ebx
push esi
call fcn.1001a730
or edi, 0xffffffff
jmp 0x10029170
mov edx, dword [ebx + 0x64]
lea eax, [ebx + 0x68]
push ebx
push eax
mov ecx, 0xfffffc0d
call fcn.1001a730
or edi, 0xffffffff
jmp 0x10029170
push ebx
lea edx, [ebx + 0x68]
mov ecx, eax
push edx
mov edx, dword [ebx + 0x64]
call fcn.1001a730
or edi, 0xffffffff
jmp 0x10029170
test di, di
je 0x1002916c
cmp di, 1
je 0x1002916c
push ecx
mov edx, 0x3e8
mov ecx, ebx
call fcn.10025e00
or dword [ebx + 0x1c], 1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1002918c
mov ecx, dword [ebx + 0x64]
cmp eax, dword [ecx + 0x58]
je 0x1002918c
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 0x1002919c
mov ecx, ebx
call fcn.1002f9b0
test di, di
je 0x100291b0
cmp di, 1
je 0x100291b0
xor edx, edx
mov ecx, ebx
call fcn.10026080
mov ecx, dword [ebx + 0x64]
push 1
push dword [ecx + 0x54]
call dword [sym.imp.msjet40.dll_Ordinal_153]
mov ecx, dword [esp + 0x216c]
mov ax, di
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1003a750
mov esp, ebp
pop ebp
ret 0x1c
call fcn.1003a89a
lea ecx, [ecx]
mov word [edx], es
adc byte [edi - 115], dh
add dl, byte [eax]
add byte [ecx], 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 byte [ecx], 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 [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 byte [ecx], 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 ah, cl
int3