Function at 0x1001f300
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1004c38b
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10077990]
xor eax, esp
push eax
lea eax, [esp + 0xb4]
mov dword fs:[0], eax
mov ecx, dword [esp + 0xc4]
xor eax, eax
xor ebx, ebx
mov edi, dword [esp + 0xc8]
cmp word [esp + 0xd4], 1
mov dword [esp + 0x54], ebx
setne al
mov dword [esp + 0x68], ebx
mov dword [esp + 0x44], eax
xor ebp, ebp
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x58], ebp
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xdc]
mov dword [eax], ebx
mov esi, dword [ecx + 0x64]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
lea eax, [eax*8 - 1]
add eax, ecx
cmp edi, eax
ja 0x10020067
mov eax, dword [esi + 0x10]
mov edx, edi
sub edx, ecx
mov ecx, edx
and edx, 7
shr ecx, 3
mov al, byte [ecx + eax]
test byte [edx + 0x1004e760], al
jne 0x10020067
mov eax, dword [esi]
push eax
imul eax, edi
add eax, dword [esi + 8]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.1003e000
mov eax, dword [esp + 0x60]
add esp, 0xc
test eax, eax
je 0x10020067
cmp dword [esp + 0xcc], ebx
jne 0x1001f3e3
cmp dword [eax + 0x24], ebx
je 0x1001f3e3
mov eax, 0x80070057
jmp 0x1002006c
mov ecx, dword [esp + 0xd0]
cmp dword [ecx + 4], 0x10
jne 0x1001f3fa
mov eax, 0x80040e23
jmp 0x1002006c
mov eax, dword [eax]
add eax, 0xfffffffd
cmp eax, 1
ja 0x10020060
mov esi, dword [esp + 0xc4]
mov eax, dword [esi + 0xac]
mov edx, eax
shl eax, 0x1e
sar eax, 0x1f
mov dword [esp + 0x88], eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x50]
shl edx, 0x1f
push eax
sar edx, 0x1f
push ecx
mov ecx, esi
mov dword [esp + 0x90], edx
call fcn.1001d6a0
mov edi, eax
mov dword [esp + 0x24], edi
test edi, edi
js 0x1002001f
mov edx, dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x64], eax
cmp dword [edx + 0x24], eax
jbe 0x1002001d
mov dword [esp + 0x7c], 0x83
mov dword [esp + 0x6c], 0x88
imul eax, eax, 0x34
lea edi, [edx + 0x28]
add edi, eax
mov dword [esp + 0x14], 0
xor ebp, ebp
mov dword [esp + 0x1c], 0
mov dword [esp + 0x70], 1
mov dword [esp + 0x60], 0
mov ecx, dword [edi]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x18], edi
test ecx, ecx
je 0x1001f4cc
mov eax, dword [esi + 0x94]
imul edx, ecx, 0x68
mov eax, dword [eax + 0xc]
add edx, 0xffffff98
add edx, eax
mov dword [esp + 0x30], edx
je 0x1001f4d2
mov eax, dword [edx + 0x2c]
jmp 0x1001f4d7
xor edx, edx
mov dword [esp + 0x30], edx
mov eax, 4
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x1c]
test al, 1
je 0x1001f4f2
mov ecx, dword [edi + 4]
add ecx, dword [esp + 0xcc]
mov dword [esp + 0x34], ecx
jmp 0x1001f4f4
mov ecx, ebp
test al, 2
je 0x1001f50a
mov ebp, dword [edi + 8]
add ebp, dword [esp + 0xcc]
mov dword [esp + 0x60], ebp
mov ebp, dword [esp + 0x38]
test al, 4
je 0x1001f51c
mov ebp, dword [edi + 0xc]
add ebp, dword [esp + 0xcc]
mov dword [esp + 0x38], ebp
test ecx, ecx
je 0x1001feb7
xor esi, esi
mov dword [esp + 0x48], 0
xor ebp, ebp
mov dword [esp + 0x40], esi
cmp dword [edi], esi
jne 0x1001f59b
mov eax, 3
mov dword [esp + 0x40], 4
mov dword [esp + 0x50], eax
mov edx, 0x80
movzx eax, word [edi + 0x30]
cmp dx, ax
je 0x1001f56f
mov edx, 0x13
cmp dx, ax
je 0x1001f56f
mov ecx, dword [esp + 0xd0]
lea edx, [ebp + 1]
mov ebp, ecx
jmp 0x1001f585
mov eax, dword [esp + 0xd0]
mov ebp, ecx
xor edx, edx
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, dword [esp + 0xd0]
cmp dword [ecx], 0xfffffffe
jne 0x1001fa5e
mov dword [esp + 0x14], 8
jmp 0x1001fa70
mov ecx, dword [edx + 0x24]
mov edi, 3
movzx eax, word [edx + 0x28]
mov dword [esp + 0x50], eax
lea eax, [ecx - 9]
cmp edi, eax
mov eax, dword [esp + 0x50]
sbb edi, edi
and edi, 1
cmp word [esp + 0x7c], ax
jne 0x1001f623
mov dword [esp + 0x50], 0xe
mov eax, dword [esp + 0x18]
mov edx, 0xd
cmp dx, word [eax + 0x30]
jne 0x1001f65b
mov eax, dword [eax + 0x14]
mov dword [esp + 0x48], 1
test eax, eax
je 0x1001f60b
lea edi, [eax + 4]
push edi
push 0x10068bf8
call fcn.10002d40
test al, al
jne 0x1001f60b
push edi
push 0x10068bd8
call fcn.10002d40
test al, al
je 0x1001f610
mov ebp, 1
mov ecx, dword [esp + 0x34]
xor edx, edx
mov edi, dword [esp + 0x30]
mov dword [esp + 0x28], edx
jmp 0x1001f747
cmp word [esp + 0x6c], ax
jne 0x1001f5c8
mov edi, dword [esp + 0x18]
mov ecx, 0x88
cmp cx, word [edi + 0x30]
je 0x1001f642
lea ebp, [esp + 0x70]
jmp 0x1001fa81
mov ecx, dword [esp + 0x34]
xor edx, edx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
mov dword [ecx], eax
jmp 0x1001fa56
push ecx
call fcn.1001a010
mov esi, dword [esp + 0x18]
cmp word [esi + 0x30], ax
jne 0x1001f6c1
mov eax, dword [esp + 0x30]
push dword [eax + 0x24]
call fcn.1001a010
mov ecx, 0x83
cmp cx, ax
je 0x1001f6c1
mov eax, dword [esp + 0x30]
xor edx, edx
mov dword [esp + 0x28], edx
test edi, edi
je 0x1001f6a1
mov esi, dword [eax + 0x2c]
mov edi, eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], esi
jmp 0x1001f747
mov eax, dword [eax + 0x2c]
mov esi, dword [esi + 0x28]
test eax, eax
je 0x1001f6b0
cmp eax, esi
cmovb esi, eax
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x40], esi
jmp 0x1001f747
mov edi, dword [esp + 0x30]
mov dword [esp + 0x28], 1
mov ecx, dword [edi + 0x2c]
test ecx, ecx
jne 0x1001f6d7
mov ecx, dword [esi + 0x28]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x40], ecx
cmp eax, 0xb
je 0x1001f6e8
cmp eax, 0xc
jne 0x1001f71c
push 0
push dword [esp + 0x48]
lea eax, [esp + 0x48]
push eax
push 0
push 0
push dword [edi + 0x20]
push dword [esp + 0x64]
push dword [esp + 0x58]
call sub.msjet40.dll_Ordinal_167
mov ecx, dword [esp + 0x40]
mov ebx, eax
xor eax, eax
cmp ebx, 0x3ee
cmovne ecx, eax
mov dword [esp + 0x40], ecx
mov esi, dword [esp + 0xc4]
add ecx, 2
push ecx
push esi
call fcn.1001f2a0
mov dword [esp + 0x24], eax
test eax, eax
js 0x10020015
mov ecx, dword [esi + 0x8c]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], ecx
cmp word [esp + 0x6c], ax
jne 0x1001f76d
mov edi, dword [esp + 0x18]
test edx, edx
jne 0x1001fa56
mov eax, dword [esp + 0x70]
mov dword [ecx], eax
jmp 0x1001fa56
cmp dword [esp + 0x48], 1
jne 0x1001fd56
test ebp, ebp
jne 0x1001faf8
mov ebp, dword [edi + 0x20]
lea eax, [esp + 0x1c]
push 0
push dword [esp + 0x48]
push eax
push 0
push 0
push ebp
push dword [esp + 0x64]
push dword [esp + 0x58]
call sub.msjet40.dll_Ordinal_167
mov ebx, eax
mov dword [esp + 0x2c], ebx
cmp ebx, 0x3ec
jne 0x1001f80d
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x14]
cmp dword [eax], 0
jne 0x1001f80d
mov dword [esp + 0x14], 3
mov dword [esp + 0x1c], 0
mov esi, dword [esp + 0xc4]
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x1001f7e7
mov eax, dword [esp + 0x1c]
mov dword [ecx], eax
test ebp, ebp
je 0x1001f7f2
mov eax, dword [esp + 0x14]
mov dword [ebp], eax
mov eax, dword [esp + 0x14]
cmp eax, 0xd
ja case.0x1001f806.1
movzx eax, byte [eax + 0x10020090]
jmp dword [eax*4 + 0x10020088]
mov edx, dword [esp + 0xc4]
xor ecx, ecx
mov eax, dword [edx + 0xec]
lea ebx, [edx + 0xdc]
movdqu xmm0, xmmword [ebx]
mov dword [esp + 0x5c], eax
xor esi, esi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], 0
movdqu xmmword [esp + 0x8c], xmm0
mov eax, dword [eax + 0x14]
cmp dword [eax], ecx
sete cl
or ecx, 2
mov dword [esp + 0x78], ecx
cmp dword [edx + 0xec], esi
je 0x1001f861
cmp dword [esp + 0x84], esi
jne 0x1001f872
mov esi, 1
mov dword [esp + 0x14], 7
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0xd0]
mov eax, dword [eax]
cmp eax, 0xfffffffe
je 0x1001f8d2
cmp eax, 0xfffffffd
je 0x1001f8d2
test esi, esi
jne 0x1001f8d2
cmp dword [edx + 0x74], esi
je 0x1001f8d8
mov ecx, edx
call fcn.1001d610
mov edi, eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x2c], edi
push dword [eax + 0x70]
push dword [esp + 0xd4]
push eax
call fcn.1001d7b0
mov dword [esp + 0x24], eax
test eax, eax
js 0x1001f8be
test edi, edi
je 0x1001f8cb
mov dword [esp + 0x14], 7
mov esi, 1
mov edx, dword [esp + 0xc4]
cmp dword [edx + 0x74], 0
jne 0x1001f8dd
mov edi, dword [edx + 0x6c]
jmp 0x1001f8e0
mov edi, dword [edx + 0x70]
mov ecx, ebx
call fcn.1001d890
test eax, eax
jne 0x1001f97d
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
cmp dword [eax], 0
je 0x1001f959
test esi, esi
jne 0x1001f959
push 2
push edi
push dword [esp + 0x44]
call sub.msjet40.dll_Ordinal_159
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x1001f947
mov ecx, dword [esp + 0xd0]
mov esi, dword [esp + 0xc4]
mov eax, dword [ecx]
mov dword [ebx], eax
mov eax, dword [esp + 0xd8]
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
mov dword [esi + 0xec], 0
mov dword [esi + 0xe8], ebp
inc dword [ecx + 8]
jmp 0x1001f988
mov dword [esp + 0x14], 7
mov esi, 1
jmp 0x1001f9eb
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xd8]
mov dword [eax + 0xec], 0
mov dword [eax + 0xe8], ebp
mov dword [eax + 0xe4], ecx
test esi, esi
jne 0x1001f9e7
mov esi, dword [esp + 0xc4]
push dword [esp + 0x78]
lea eax, [esp + 0x4c]
push eax
push ebp
push edi
push dword [esp + 0x4c]
call sub.msjet40.dll_Ordinal_184
cmp dword [esp + 0x48], 0
mov dword [esp + 0x2c], eax
je 0x1001f947
test eax, eax
jne 0x1001f947
push 0x20
call fcn.1003d386
add esp, 4
test eax, eax
je 0x1001f9dd
mov ecx, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [ecx + 0x14]
cmp dword [ecx], edx
mov ecx, eax
sete dl
push edx
push edi
push dword [esp + 0x50]
push esi
call fcn.1001c360
mov ecx, dword [esp + 0x34]
mov dword [ecx], eax
jmp 0x1001f9f4
mov ecx, dword [esp + 0x34]
xor eax, eax
mov dword [ecx], eax
jmp 0x1001f9f4
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x1001fa1f
cmp esi, 1
je 0x1001fa1f
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0xc4]
mov eax, dword [edi + 0x14]
mov edx, dword [esp + 0x28]
cmp dword [eax], 2
jne 0x1001fa65
mov ecx, dword [esp + 0xd0]
inc dword [ecx + 8]
jmp 0x1001fa65
mov eax, dword [esp + 0x8c]
mov dword [ebx], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 8], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x98]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x10], eax
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x34], 0
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0xc4]
cmp dword [esp + 0x14], 3
je 0x1001f7d1
cmp edx, 1
jne 0x1001f7ca
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
test edx, edx
je 0x1001fa8d
push dword [edx + 0x24]
call fcn.1001a010
movzx esi, ax
mov eax, 0x83
mov ecx, dword [0x1007a190]
cmp ax, si
push 0
mov eax, 0xe
cmove esi, eax
movzx eax, byte [edi + 0x33]
push eax
movzx eax, byte [edi + 0x32]
push eax
mov edx, dword [ecx]
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0x94]
push dword [edi + 0x28]
push dword [esp + 0x4c]
push ebp
push eax
push dword [esp + 0x40]
movzx eax, word [edi + 0x30]
push eax
push esi
push ecx
call dword [edx + 0xc]
mov eax, dword [esp + 0x80]
xor edi, edi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edi
jmp 0x1001f7d5
cmp ebp, 1
jne 0x1001fd56
mov ebp, dword [esp + 0xc4]
lea ecx, [esp + 0x1c]
xor esi, esi
add ebp, 0xdc
push esi
push dword [esp + 0x48]
mov eax, dword [ebp + 0x10]
movdqu xmm0, xmmword [ebp]
push ecx
push esi
push esi
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0x20]
push eax
push dword [esp + 0x64]
movdqu xmmword [esp + 0xbc], xmm0
mov dword [esp + 0x48], eax
push dword [esp + 0x58]
call sub.msjet40.dll_Ordinal_167
mov ebx, eax
cmp ebx, 0x3ec
jne 0x1001fb6c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
cmp dword [eax], esi
jne 0x1001fb6c
mov dword [esp + 0x14], 3
mov dword [esp + 0x1c], esi
jmp 0x1001f7ca
mov edi, dword [esp + 0xc4]
cmp dword [edi + 0xec], esi
je 0x1001fb84
cmp dword [esp + 0x88], esi
jne 0x1001fb91
mov dword [esp + 0x14], 7
mov esi, 1
mov eax, dword [esp + 0xd0]
mov eax, dword [eax]
cmp eax, 0xfffffffe
je 0x1001fbdf
cmp eax, 0xfffffffd
je 0x1001fbdf
test esi, esi
jne 0x1001fbdf
cmp dword [edi + 0x74], esi
je 0x1001fbe5
mov ecx, edi
call fcn.1001d610
push dword [edi + 0x70]
mov ebx, eax
push dword [esp + 0xd4]
push edi
call fcn.1001d7b0
mov dword [esp + 0x24], eax
test eax, eax
js 0x1001fbd2
test ebx, ebx
je 0x1001fbdf
mov dword [esp + 0x14], 7
mov esi, 1
cmp dword [edi + 0x74], 0
jne 0x1001fbea
mov edi, dword [edi + 0x6c]
jmp 0x1001fbed
mov edi, dword [edi + 0x70]
mov ecx, ebp
call fcn.1001d890
test eax, eax
jne 0x1001fc33
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1001fc08
cmp dword [eax], 0
je 0x1001fc33
test esi, esi
jne 0x1001fcb4
push 2
push edi
push dword [esp + 0x44]
call sub.msjet40.dll_Ordinal_159
mov ebx, eax
test ebx, ebx
je 0x1001fc37
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x14], 7
jmp 0x1001fcbf
test esi, esi
jne 0x1001fcb4
push 0x30
call fcn.1003d386
mov edx, eax
add esp, 4
mov dword [esp + 0x78], edx
mov dword [esp + 0xbc], 0
test edx, edx
je 0x1001fc8f
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1001fc6a
cmp dword [ecx], 0
je 0x1001fc6a
xor eax, eax
jmp 0x1001fc6f
mov eax, 1
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc4]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
push ecx
mov ecx, edx
call fcn.10010d60
jmp 0x1001fc95
mov esi, dword [esp + 0x2c]
xor eax, eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xbc], 0xffffffff
mov dword [ecx], eax
test eax, eax
jne 0x1001fcb8
mov dword [esp + 0x14], 7
jmp 0x1001fcbf
mov esi, dword [esp + 0x2c]
cmp dword [esp + 0x14], 0xd
ja case.0x1001fcca.1
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + 0x100200a8]
jmp dword [eax*4 + 0x100200a0]
mov eax, dword [esp + 0xc4]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0xd8]
mov dword [eax + 0xe8], esi
mov esi, eax
mov dword [eax + 0xec], 0
mov dword [esi + 0xe4], edx
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1001fd1c
cmp dword [eax], 0
je 0x1001fd1c
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx]
mov dword [ebp], eax
mov dword [ebp + 8], edx
mov dword [ebp + 4], edx
inc dword [ecx + 8]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
jmp 0x1001fa65
mov eax, dword [esp + 0xa0]
mov dword [ebp], eax
mov eax, dword [esp + 0xa4]
mov dword [ebp + 8], eax
mov dword [ebp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [ebp + 0x10], eax
jmp 0x1001fa52
push 0
push dword [esp + 0x48]
lea eax, [esp + 0x24]
push eax
push esi
push ecx
push dword [edi + 0x20]
push dword [esp + 0x64]
push dword [esp + 0x58]
call sub.msjet40.dll_Ordinal_167
mov ebx, eax
cmp ebx, 0xfffffc07
jg 0x1001fddf
je 0x10020007
cmp ebx, 0xfffff9bd
jg 0x1001fdcd
je 0x1001fdb1
cmp ebx, 0xfffff42a
je 0x1001fda7
cmp ebx, 0xfffff8ef
jne 0x1001fdf2
mov dword [esp + 0x14], 9
jmp 0x1001fe19
mov dword [esp + 0x14], 8
jmp 0x1001fe19
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x14], 8
lea ecx, [esi + 0xdc]
call fcn.10011040
jmp 0x1001fe20
cmp ebx, 0xfffffbf2
jne 0x1001fdf2
mov dword [esp + 0x14], 6
jmp 0x1001fe19
mov eax, ebx
sub eax, 0
je 0x1001fe19
sub eax, 0x3ec
je 0x1001fe11
sub eax, 2
je 0x1001fe07
mov esi, dword [esp + 0xc4]
test ebx, ebx
jns 0x1001fe20
mov dword [esp + 0x14], 8
jmp 0x1001fe20
mov dword [esp + 0x14], 4
jmp 0x1001fe19
mov dword [esp + 0x14], 3
mov esi, dword [esp + 0xc4]
push dword [esp + 0x14]
call fcn.100211d0
cmp eax, 1
jne 0x1001fe9d
cmp dword [edi + 0x24], eax
jne 0x1001fe49
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1c], 2
movsx eax, byte [ecx]
neg eax
sbb eax, eax
mov word [ecx], ax
mov eax, dword [edi + 0x24]
cmp eax, 0xa
je 0x1001fe56
cmp eax, 0xc
jne 0x1001fe9d
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
test edx, edx
jne 0x1001feae
mov ecx, dword [edi + 0x28]
mov eax, dword [esp + 0x34]
add ecx, 0xfffffffe
cmp dword [esp + 0x1c], ecx
cmovb ecx, dword [esp + 0x1c]
xor ebp, ebp
shr ecx, 1
mov word [eax + ecx*2], bp
mov ecx, dword [edi + 0x28]
mov eax, ecx
and eax, 1
sub ecx, eax
sub ecx, 2
cmp ecx, dword [esp + 0x1c]
jae 0x1001feae
mov dword [esp + 0x14], 4
jmp 0x1001f7d1
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
jmp 0x1001fa65
mov ebp, dword [esp + 0x20]
jmp 0x1001fa65
test edx, edx
je 0x1001ff4b
push 0
push dword [esp + 0x48]
lea eax, [esp + 0x24]
push eax
push 0
push 0
push dword [edx + 0x20]
push dword [esp + 0x64]
push dword [esp + 0x58]
call sub.msjet40.dll_Ordinal_167
mov ebx, eax
cmp ebx, 0x3ec
jg 0x1001ff3b
je 0x1001ff2a
cmp ebx, 0xfffffbf2
je 0x1001fef6
test ebx, ebx
jmp 0x1001ff41
mov eax, 0x83
cmp ax, word [edi + 0x30]
jne 0x1001ff14
mov edi, dword [esp + 0x24]
xor ebx, ebx
mov dword [esp + 0x1c], 0x13
jmp 0x1001f7d9
mov eax, dword [esp + 0x30]
xor ebx, ebx
mov edi, dword [esp + 0x24]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1c], eax
jmp 0x1001f7d9
mov edi, dword [esp + 0x24]
mov dword [esp + 0x14], 3
jmp 0x1001f7d9
cmp ebx, 0x3ee
je 0x1001ff54
mov dword [esp + 0x14], 8
mov edi, dword [esp + 0x24]
jmp 0x1001f7d9
mov ebp, dword [esp + 0x30]
movzx edi, word [edi + 0x30]
mov dword [esp + 0x74], 0
push dword [ebp + 0x24]
call fcn.1001a010
cmp ax, di
je 0x1001f7d1
mov eax, dword [0x1007a190]
push 0
mov esi, dword [eax]
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x24]
push eax
push edi
push dword [ebp + 0x24]
call fcn.1001a010
movzx eax, ax
push eax
push dword [0x1007a190]
call dword [esi + 0x14]
mov ecx, dword [esp + 0x1c]
test eax, eax
mov esi, dword [esp + 0xc4]
cmovns ecx, dword [esp + 0x74]
xor edi, edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edi
jmp 0x1001f7d5
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x68], 1
jmp 0x1001ffed
mov ebp, 1
mov dword [esp + 0x58], ebp
test ebx, ebx
jns 0x1001ffed
push 0x10068c38
push ebx
push 0x80040e21
push dword [esi + 0x38]
call fcn.10010bd0
mov eax, dword [esp + 0x64]
xor ebx, ebx
mov edx, dword [esp + 0x54]
inc eax
mov dword [esp + 0x64], eax
cmp eax, dword [edx + 0x24]
jb 0x1001f474
jmp 0x1002001d
mov esi, dword [esp + 0xc4]
mov edi, 0x80040e23
jmp 0x10020040
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x58]
test edi, edi
jne 0x1002003c
cmp dword [esp + 0x68], 0
jne 0x10020033
test ebp, ebp
je 0x1002003c
mov edi, 0x80040e21
jmp 0x1002003c
test ebp, ebp
je 0x1002003c
mov edi, 0x40eda
test ebx, ebx
je 0x1002005c
push 0x10068c38
push ebx
push edi
push dword [esi + 0x38]
call fcn.10010bd0
mov eax, dword [esp + 0xdc]
mov dword [eax], 1
mov eax, edi
jmp 0x1002006c
mov eax, 0x80040e1d
jmp 0x1002006c
mov eax, 0x80040e00
mov ecx, dword [esp + 0xb4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret 0x1c