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

Disassembly:
sub esp, 0x3e8
mov eax, dword [0x10077990]
xor eax, esp
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x3ec]
push ebx
mov ebx, dword [esp + 0x3fc]
push ebp
mov ebp, dword [esp + 0x3f8]
push esi
push edi
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x40c]
push 0x2c
mov dword [esp + 0x68], eax
lea eax, [esp + 0x78]
push 0
push eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x7c], 0
call fcn.1003e950
movq xmm0, qword [str.UNIQUE]
xor esi, esi
mov eax, dword [0x10060938]
xor edi, edi
mov ebp, dword [ebp + 0x10]
movq qword [esp + 0x120], xmm0
movdqu xmm0, xmmword [str.PRIMARY_KEY]
mov dword [esp + 0x128], eax
mov ax, word [0x1006093c]
movdqu xmmword [esp + 0x168], xmm0
mov word [esp + 0x12c], ax
movq xmm0, qword [0x10060950]
mov eax, dword [0x10060960]
movq qword [esp + 0x178], xmm0
movq xmm0, qword [str.CHECK]
movq qword [esp + 0x114], xmm0
movdqu xmm0, xmmword [str.FOREIGN_KEY]
push 0xffde
mov dword [esp + 0x20], 0
movdqu xmmword [esp + 0x154], xmm0
mov dword [esp + 0x2c], 0
movq xmm0, qword [0x10060974]
mov dword [esp + 0x28], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 1
mov dword [esp + 0x68], esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x120], eax
movq qword [esp + 0x164], xmm0
mov dword [esp + 0x4c], esi
call fcn.1003db99
add esp, 0x10
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x1002ce08
mov eax, dword [esp + 0x10]
mov ebx, 0x8007000e
mov esi, dword [esp + 0x14]
jmp 0x1002dba4
push 0xffdc
call fcn.1003db99
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x1002ce2f
mov eax, dword [esp + 0x10]
mov ebx, 0x8007000e
mov esi, dword [esp + 0x14]
jmp 0x1002dba4
mov ecx, dword [esp + 0x404]
test ecx, ecx
je 0x1002cf2b
test ebx, ebx
je 0x1002cf19
cmp ecx, 7
ja 0x1002cf19
test ecx, ecx
je 0x1002ce72
movzx eax, word [ebx]
test ax, ax
je 0x1002ce72
cmp eax, 1
je 0x1002ce72
cmp eax, 8
jne 0x1002cf19
cmp dword [ebx + 8], esi
jne 0x1002cf19
cmp ecx, 1
jbe 0x1002ce97
movzx eax, word [ebx + 0x10]
test ax, ax
je 0x1002ce97
cmp eax, 1
je 0x1002ce97
cmp eax, 8
jne 0x1002cf19
cmp dword [ebx + 0x18], esi
jne 0x1002cf19
cmp ecx, 2
jbe 0x1002ceaf
movzx eax, word [ebx + 0x20]
test ax, ax
je 0x1002ceaf
cmp eax, 1
je 0x1002ceaf
cmp eax, 8
jne 0x1002cf19
cmp ecx, 3
jbe 0x1002cecc
movzx eax, word [ebx + 0x30]
test ax, ax
je 0x1002cecc
cmp eax, 1
je 0x1002cecc
cmp eax, 8
jne 0x1002cf19
cmp dword [ebx + 0x38], esi
jne 0x1002cf19
cmp ecx, 4
jbe 0x1002cee9
movzx eax, word [ebx + 0x40]
test ax, ax
je 0x1002cee9
cmp eax, 1
je 0x1002cee9
cmp eax, 8
jne 0x1002cf19
cmp dword [ebx + 0x48], esi
jne 0x1002cf19
cmp ecx, 5
jbe 0x1002cf01
movzx eax, word [ebx + 0x50]
test ax, ax
je 0x1002cf01
cmp eax, 1
je 0x1002cf01
cmp eax, 8
jne 0x1002cf19
cmp ecx, 6
jbe 0x1002cf2b
movzx eax, word [ebx + 0x60]
test ax, ax
je 0x1002cf2b
cmp eax, 1
je 0x1002cf2b
cmp eax, 8
je 0x1002cf2b
mov eax, dword [esp + 0x10]
mov ebx, 0x80070057
mov esi, dword [esp + 0x14]
jmp 0x1002dba4
cmp ecx, 3
jb 0x1002cf58
movzx eax, word [ebx + 0x20]
test ax, ax
je 0x1002cf58
mov edx, 1
cmp eax, edx
je 0x1002cf5d
mov eax, dword [ebx + 0x28]
test eax, eax
mov dword [esp + 0x48], edx
cmove edx, esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x30], edx
jmp 0x1002cf5d
mov edx, 1
cmp ecx, 6
jb 0x1002cf86
movzx eax, word [ebx + 0x50]
test ax, ax
je 0x1002cf86
cmp eax, 1
je 0x1002cf86
mov esi, dword [ebx + 0x58]
xor eax, eax
test esi, esi
mov dword [esp + 0x50], 1
cmove edx, eax
mov dword [esp + 0x30], edx
cmp ecx, 7
jb 0x1002cfad
movzx eax, word [ebx + 0x60]
test ax, ax
je 0x1002cfad
cmp eax, 1
je 0x1002cfad
xor eax, eax
mov dword [esp + 0x28], 1
cmp dword [ebx + 0x68], eax
cmove edx, eax
mov dword [esp + 0x30], edx
mov eax, 1
cmp ecx, 3
jb 0x1002cfbd
cmp ax, word [ebx + 0x20]
je 0x1002cfd3
cmp ecx, 6
jb 0x1002cfc8
cmp ax, word [ebx + 0x50]
je 0x1002cfd3
cmp ecx, 7
jb 0x1002cfd7
cmp ax, word [ebx + 0x60]
jne 0x1002cfd7
mov dword [esp + 0x30], edi
mov eax, dword [0x1007a1e0]
push 0x28
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x1002cffe
mov eax, dword [esp + 0x10]
mov ebx, 0x8007000e
mov esi, dword [esp + 0x14]
jmp 0x1002dba4
push 2
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x20]
push 9
call fcn.10031c40
mov dword [esp + 0x38], eax
test eax, eax
js 0x1002df99
push 1
push 0x30
lea eax, [esp + 0x78]
push eax
push esi
mov esi, dword [esp + 0x24]
push 0x10060ae0
push 0
push dword [esi + 0x14]
push ebp
call sub.msjet40.dll_Ordinal_140
mov dword [esp + 0x10], eax
test eax, eax
je 0x1002d04d
mov ebx, 0x80004005
jmp 0x1002dba4
push 0
push SysReAllocStringLen
push dword [esp + 0x7c]
push ebp
call sub.msjet40.dll_Ordinal_156
mov dword [esp + 0x10], eax
cmp eax, 0xfffff9bd
je 0x1002d077
test eax, eax
je 0x1002d077
mov ebx, 0x80004005
jmp 0x1002dba4
mov dword [esp + 0x2c], edi
cmp dword [esp + 0x78], edi
jbe 0x1002db6b
cmp dword [esp + 0x30], 0
je 0x1002db6b
mov eax, dword [0x10060b08]
movdqu xmm0, xmmword [0x10060af0]
mov dword [esp + 0x13c], eax
movzx eax, word [0x10060b0c]
mov word [esp + 0x140], ax
movzx eax, word [0x1006099c]
mov word [esp + 0x218], ax
xor eax, eax
push eax
push eax
mov word [esp + 0x17c], ax
mov word [esp + 0x224], ax
mov dword [esp + 0x64], eax
lea eax, [esp + 0x2c]
push eax
movdqu xmmword [esp + 0x130], xmm0
lea eax, [esp + 0x6c]
movq xmm0, qword [0x10060b00]
push 4
movq qword [esp + 0x144], xmm0
movdqu xmm0, xmmword [0x1006097c]
push eax
push dword [esp + 0x98]
movdqu xmmword [esp + 0x210], xmm0
movdqu xmm0, xmmword [0x1006098c]
push dword [esp + 0x8c]
movdqu xmmword [esp + 0x224], xmm0
push ebp
call sub.msjet40.dll_Ordinal_167
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002dfb5
mov eax, dword [esp + 0x60]
dec eax
je 0x1002d166
sub eax, 3
je 0x1002d166
sub eax, 2
je 0x1002d166
push 0
push 1
push dword [esp + 0x7c]
push ebp
call sub.msjet40.dll_Ordinal_156
jmp 0x1002db54
push 0
push 0
lea eax, [esp + 0x2c]
push eax
push 0x81
lea eax, [esp + 0x184]
push eax
push dword [esp + 0x94]
push dword [esp + 0x8c]
push ebp
call sub.msjet40.dll_Ordinal_167
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002d043
mov eax, dword [esp + 0x24]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x1002dfcb
xor ecx, ecx
cmp dword [esp + 0x50], 1
mov word [esp + eax + 0x174], cx
jne 0x1002d1e9
lea eax, [esp + 0x174]
push eax
push dword [ebx + 0x58]
call fcn.1004ae64
add esp, 8
test eax, eax
je 0x1002d1e9
push 0
push 1
push dword [esp + 0x7c]
push ebp
call sub.msjet40.dll_Ordinal_156
jmp 0x1002db54
lea eax, [esp + 0x5c]
push eax
push 1
lea eax, [esp + 0x18]
push eax
push 1
push 0x3c
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x70]
lea eax, [esp + 0x190]
push eax
push dword [esi + 0x14]
push ebp
call fcn.10012fe0
cmp dword [esp + 0x5c], 1
mov esi, eax
mov dword [esp + 0x38], esi
jne 0x1002d23e
xor eax, eax
xor edx, edx
or ecx, 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa4], ecx
jmp 0x1002d250
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
test esi, esi
js 0x1002dfa8
xor esi, esi
test edx, edx
je 0x1002d5c4
push 0
push 0
lea eax, [esp + 0x3c]
push eax
push 0x81
lea eax, [esp + 0x22c]
push eax
push dword [esp + 0xc0]
push ecx
push ebp
call sub.msjet40.dll_Ordinal_167
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
mov eax, dword [esp + 0x34]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x1002dfcb
xor ecx, ecx
cmp dword [esp + 0x48], 1
mov word [esp + eax + 0x21c], cx
jne 0x1002d2e6
lea eax, [esp + 0x21c]
push eax
push dword [ebx + 0x28]
call fcn.1004ae64
add esp, 8
test eax, eax
je 0x1002d2e6
push 0
push 1
push dword [esp + 0xac]
push ebp
call sub.msjet40.dll_Ordinal_156
mov dword [esp + 0x10], eax
jmp 0x1002d5b0
push 0
push 0
lea eax, [esp + 0x74]
push eax
push 4
lea eax, [esp + 0x64]
push eax
push dword [esp + 0xc4]
push dword [esp + 0xbc]
push ebp
call sub.msjet40.dll_Ordinal_167
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
test al, 1
je 0x1002d414
test al, 2
jne 0x1002d41c
test ecx, ecx
je 0x1002d356
cmp ecx, 1
jne 0x1002d414
push dword [ebx + 0x68]
lea eax, [esp + 0x118]
push eax
call fcn.1004ae64
add esp, 8
test eax, eax
jne 0x1002d40c
push 0
push dword [esp + 0x1c]
push ebp
call sub.msjet40.dll_Ordinal_159
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
push eax
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x228]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 8]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push dword [esp + 0x2c]
lea eax, [esp + 0x180]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 0x14]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
lea ecx, [esp + 0x114]
lea edx, [ecx + 2]
jmp 0x1002d3c0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002d3c0
sub ecx, edx
push 0
sar ecx, 1
push 0
lea eax, [ecx + ecx]
push eax
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 0x18]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push 0
push dword [esp + 0x24]
push ebp
call sub.msjet40.dll_Ordinal_179
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
test al, 2
je 0x1002d4f2
test ecx, ecx
je 0x1002d444
cmp ecx, 1
jne 0x1002d4f2
push dword [ebx + 0x68]
lea eax, [esp + 0x160]
push eax
call fcn.1004ae64
add esp, 8
test eax, eax
jne 0x1002d4f2
push 0
push dword [esp + 0x1c]
push ebp
call sub.msjet40.dll_Ordinal_159
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
push eax
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x228]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 8]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push dword [esp + 0x2c]
lea eax, [esp + 0x180]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 0x14]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
lea ecx, [esp + 0x15c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002d4a6
sub ecx, edx
push 0
sar ecx, 1
push 0
lea eax, [ecx + ecx]
push eax
lea eax, [esp + 0x168]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 0x18]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push 0
push dword [esp + 0x24]
push ebp
call sub.msjet40.dll_Ordinal_179
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
push 0
push 1
push dword [esp + 0xac]
inc esi
push ebp
call sub.msjet40.dll_Ordinal_156
mov dword [esp + 0x10], eax
cmp eax, 0xfffff9bd
je 0x1002d5a8
push 0
push 0
lea eax, [esp + 0x3c]
push eax
push 0x82
lea eax, [esp + 0x380]
push eax
push dword [esp + 0xc0]
push dword [esp + 0xbc]
push ebp
call sub.msjet40.dll_Ordinal_167
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
mov eax, dword [esp + 0x34]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x1002dfcb
xor ecx, ecx
mov word [esp + eax + 0x370], cx
lea eax, [esp + 0x21c]
lea ecx, [esp + 0x370]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x1002d599
test dx, dx
je 0x1002d595
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x1002d599
add ecx, 4
add eax, 4
test dx, dx
jne 0x1002d573
xor eax, eax
jmp 0x1002d59e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1002d4f2
jmp 0x1002d5b0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0xa4]
cmp esi, dword [esp + 0xa8]
jb 0x1002d262
cmp ecx, 0xffffffff
je 0x1002d5dc
push ecx
push ebp
call sub.msjet40.dll_Ordinal_108
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x40]
push 0
push 0
push 0
push eax
push 0xffdc
push dword [esp + 0x60]
lea eax, [esp + 0x210]
push eax
push 0
lea eax, [esp + 0x194]
push eax
push 0x10060b70
push dword [esi + 0x14]
push ebp
call sub.msjet40.dll_Ordinal_906
mov dword [esp + 0x10], eax
cmp eax, 0xfffff88d
jg 0x1002d63d
je 0x1002d633
cmp eax, 0xfffff1ee
je 0x1002d633
cmp eax, 0xfffff1f0
jne 0x1002d043
test eax, eax
jne 0x1002d778
jmp 0x1002d645
test eax, eax
jne 0x1002d043
mov eax, dword [esp + 0x4c]
mov edi, eax
cmp word [eax], 0
je 0x1002d774
mov ecx, edi
sub ecx, eax
mov eax, dword [esp + 0x40]
sar ecx, 1
shr eax, 1
cmp ecx, eax
jae 0x1002d770
push 0
push dword [esp + 0x1c]
mov ebx, 1
push ebp
call sub.msjet40.dll_Ordinal_159
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
mov esi, edi
lea ecx, [esi + 2]
jmp 0x1002d690
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x1002d690
sub esi, ecx
sar esi, 1
cmp dword [esp + 0x28], 0
je 0x1002d6cc
cmp dword [esp + 0x404], 2
jbe 0x1002d6cc
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x1002d6cc
push edi
push eax
call fcn.1004ae64
xor ecx, ecx
add esp, 8
test eax, eax
cmovne ebx, ecx
mov eax, dword [esp + 0x1c]
add esi, esi
push 0
push 0
push esi
push edi
push dword [eax + 8]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
lea edx, [esi + 2]
add edx, edi
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002d6f0
push 0
push 0
push dword [esp + 0x2c]
sub ecx, esi
lea eax, [esp + 0x180]
mov esi, dword [esp + 0x28]
push eax
sar ecx, 1
push dword [esi + 0x14]
push dword [esp + 0x2c]
lea edi, [ecx + 1]
push ebp
lea edi, [edx + edi*2]
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push 0xc
lea eax, [esp + 0x114]
push eax
push dword [esi + 0x18]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
cmp ebx, 1
jne 0x1002d762
push 0
push 0
push 0
push dword [esp + 0x24]
push ebp
call sub.msjet40.dll_Ordinal_179
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
cmp word [edi], 0
mov eax, dword [esp + 0x4c]
jne 0x1002d655
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1002d7a4
cmp eax, 1
jne 0x1002db3e
push dword [ebx + 0x68]
lea eax, [esp + 0x10c]
push eax
call fcn.1004ae64
add esp, 8
test eax, eax
jne 0x1002db3e
test edi, edi
je 0x1002d7b1
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 4]
push 0x10
call fcn.1003d386
add esp, 4
test eax, eax
je 0x1002d7ce
mov ecx, eax
call fcn.10002dc0
mov esi, eax
mov dword [esp + 0x20], eax
jmp 0x1002d7d4
xor esi, esi
mov dword [esp + 0x20], esi
test esi, esi
je 0x1002cdf6
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x10]
push 0
push eax
lea eax, [esp + 0x17c]
mov ecx, esi
push eax
push dword [edi + 0x14]
push ebp
call fcn.10007b00
mov ebx, eax
mov dword [esp + 0x38], ebx
test ebx, ebx
jns 0x1002d826
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
mov eax, dword [esp + 0x10]
xor esi, esi
mov dword [esp + 0x20], esi
cmp eax, 0xfffff88d
jne 0x1002dba2
mov dword [esp + 0x10], esi
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0x40]
push 0
push 0
push 0
push eax
push 0xffdc
push ebx
lea eax, [esp + 0x13c]
push eax
push 0
lea eax, [esp + 0x194]
push eax
push 0x10060b90
push dword [edi + 0x14]
push ebp
call sub.msjet40.dll_Ordinal_906
mov dword [esp + 0x10], eax
cmp eax, 0xfffff88d
jg 0x1002d884
je 0x1002d87a
cmp eax, 0xfffff1ee
je 0x1002d87a
cmp eax, 0xfffff1f0
jne 0x1002db9d
test eax, eax
jne 0x1002d920
jmp 0x1002d88c
test eax, eax
jne 0x1002db9d
mov eax, dword [esp + 0x40]
xor ecx, ecx
shr eax, 1
push ecx
mov word [ebx + eax*2], cx
push dword [esp + 0x1c]
push ebp
call sub.msjet40.dll_Ordinal_159
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002db9d
mov edi, dword [esp + 0x1c]
push eax
push eax
push 0x1e
lea eax, [esp + 0x130]
push eax
push dword [edi + 8]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push dword [esp + 0x2c]
lea eax, [esp + 0x180]
push eax
push dword [edi + 0x14]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push 0xc
lea eax, [esp + 0x114]
push eax
push dword [edi + 0x18]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push 0
push dword [esp + 0x24]
push ebp
call sub.msjet40.dll_Ordinal_179
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
xor ebx, ebx
xor edi, edi
test esi, esi
jne 0x1002d92c
xor eax, eax
jmp 0x1002d92f
mov eax, dword [esi + 4]
cmp ebx, eax
jae 0x1002db25
cmp dword [esp + 0x48], 1
jne 0x1002d95c
mov eax, dword [esp + 0x44]
mov ecx, dword [esi + 0xc]
add ecx, edi
push dword [eax + 0x28]
call fcn.10007be0
push eax
call fcn.1004ae64
add esp, 8
test eax, eax
jne 0x1002d9c5
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push 0
push 0
mov esi, dword [eax + 0x14]
lea eax, [esp + 0x48]
mov ecx, dword [ecx + 0xc]
push 0
push eax
push 0xffdc
push dword [esp + 0x50]
lea eax, [esp + 0x13c]
add ecx, edi
push eax
call fcn.10007be0
push eax
lea eax, [esp + 0x194]
push eax
push 0x10060bc8
push esi
push ebp
call sub.msjet40.dll_Ordinal_906
mov dword [esp + 0x10], eax
cmp eax, 0xfffff88d
jg 0x1002d9ce
je 0x1002d9c1
cmp eax, 0xfffff1ee
je 0x1002d9c1
cmp eax, 0xfffff1f0
jne 0x1002df8b
mov esi, dword [esp + 0x20]
inc ebx
add edi, 0x68
jmp 0x1002d924
test eax, eax
jne 0x1002df8b
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x3c]
shr eax, 1
push 0x10060be8
push 0x68
mov word [ecx + eax*2], dx
xor eax, eax
mov word [esp + 0x2a8], ax
lea eax, [esp + 0x2a8]
push eax
call fcn.10003fe0
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 0xc]
add ecx, edi
call fcn.10007be0
push eax
push 0x68
lea eax, [esp + 0x2a8]
push eax
call fcn.1000f560
push 0x10060bec
push 0x68
lea eax, [esp + 0x2a8]
push eax
call fcn.1000f560
lea eax, [esp + 0x124]
push eax
push 0x68
lea eax, [esp + 0x2a8]
push eax
call fcn.1000f560
push 0
push dword [esp + 0x1c]
push ebp
call sub.msjet40.dll_Ordinal_159
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
lea ecx, [esp + 0x2a0]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002da70
sub ecx, edx
push 0
sar ecx, 1
push 0
lea eax, [ecx + ecx]
push eax
lea eax, [esp + 0x2ac]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 8]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push dword [esp + 0x2c]
lea eax, [esp + 0x180]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 0x14]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
lea ecx, [esp + 0x108]
lea edx, [ecx + 2]
jmp 0x1002dad0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002dad0
sub ecx, edx
push 0
sar ecx, 1
push 0
lea eax, [ecx + ecx]
push eax
lea eax, [esp + 0x114]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 0x18]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push 0
push dword [esp + 0x24]
push ebp
call sub.msjet40.dll_Ordinal_179
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
inc ebx
add edi, 0x68
jmp 0x1002d924
test esi, esi
je 0x1002db3a
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
xor edi, edi
mov dword [esp + 0x20], edi
jmp 0x1002db3e
mov edi, dword [esp + 0x20]
push 0
push 1
push dword [esp + 0x7c]
push ebp
call sub.msjet40.dll_Ordinal_156
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [esp + 0x78]
jb 0x1002d085
cmp dword [esp + 0x30], 1
jne 0x1002dc96
cmp dword [esp + 0x48], 1
jne 0x1002dc57
xor eax, eax
cmp ax, word [ebx + 0x20]
jne 0x1002dc47
push 0x2c
lea ecx, [esp + 0xe0]
push ecx
push eax
jmp 0x1002dc63
mov ebx, 0x80004005
mov esi, edi
test eax, eax
jne 0x1002dfb9
test ebx, ebx
jns 0x1002dbe1
push 0
push 0x10068de8
push ebx
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.100105d0
test ebx, ebx
jns 0x1002dbe1
push dword [esp + 0x74]
push ebp
call sub.msjet40.dll_Ordinal_108
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x1002dbe1
push eax
push ebp
call sub.msjet40.dll_Ordinal_108
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1002dbf0
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1002dc01
push eax
call fcn.1003db94
add esp, 4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1002dc12
push eax
call fcn.1003db94
add esp, 4
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x1002dc2a
mov eax, dword [0x1007a1e0]
test eax, eax
je 0x1002dc2a
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
mov ecx, dword [esp + 0x3f4]
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003dba2
add esp, 0x3e8
ret 0x14
mov eax, dword [ebx + 0x28]
lea ecx, [esp + 0xdc]
push 0x2c
push ecx
push eax
jmp 0x1002dc63
push 0x2c
lea eax, [esp + 0xe0]
push eax
push 0
push 0
push dword [esi + 0x14]
push ebp
call sub.msjet40.dll_Ordinal_912
mov dword [esp + 0x10], eax
cmp eax, 0xfffffc17
jg 0x1002dd55
cmp eax, 0xfffffc16
jge 0x1002dc96
cmp eax, 0xfffff88d
je 0x1002dc96
cmp eax, 0xfffffae7
jne 0x1002d043
push 0x20
call fcn.1003d386
add esp, 4
test eax, eax
je 0x1002cdf6
mov ecx, eax
call fcn.10002de0
mov esi, eax
test esi, esi
je 0x1002cdf6
push 0
push 0
mov dword [esi + 0x10], 0
lea eax, [esp + 0x18]
mov ecx, dword [0x10060a38]
push eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x14], ecx
mov ecx, esi
mov dword [esi + 0x1c], 0
push dword [esp + 0x24]
push dword [eax + 0x14]
push ebp
call fcn.10007a40
mov ebx, eax
test ebx, ebx
js 0x1002df9b
push 0x10068ef8
push 0
push 0
push 1
push esi
push 0
push 0
push 1
push dword [esp + 0x84]
mov dword [esi + 4], 0xa
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
push 0
push 0
push 0
push esi
push 0
push dword [esp + 0xa4]
call fcn.1001c790
push dword [esp + 0x74]
mov ebx, eax
push ebp
call sub.msjet40.dll_Ordinal_108
mov dword [esp + 0x10], eax
test eax, eax
je 0x1002dbac
mov ebx, 0x80004005
jmp 0x1002dba4
test eax, eax
je 0x1002dd63
mov ebx, 0x80004005
jmp 0x1002dba4
xor esi, esi
cmp dword [esp + 0xe4], esi
jbe 0x1002df68
push 0
push 0
lea eax, [esp + 0x34]
push eax
push 0x81
lea eax, [esp + 0x2b0]
push eax
push dword [esp + 0xfc]
push dword [esp + 0xf8]
push ebp
call sub.msjet40.dll_Ordinal_167
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
mov eax, dword [esp + 0x2c]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x1002dfcb
xor ecx, ecx
push ecx
push ecx
mov word [esp + eax + 0x2a8], cx
lea eax, [esp + 0x2c]
push eax
push 0x82
lea eax, [esp + 0x184]
push eax
push dword [esp + 0x10c]
push dword [esp + 0xf8]
push ebp
call sub.msjet40.dll_Ordinal_167
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
and eax, 0xfffffffe
cmp eax, 0x82
jae 0x1002dfcb
xor ecx, ecx
mov word [esp + eax + 0x174], cx
cmp dword [esp + 0x50], ecx
je 0x1002de57
xor eax, eax
cmp ax, word [ebx + 0x50]
je 0x1002de57
mov ecx, dword [ebx + 0x58]
lea eax, [esp + 0x174]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002de4a
test dx, dx
je 0x1002de46
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002de4a
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002de24
xor eax, eax
jmp 0x1002de4f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002df45
cmp dword [esp + 0x28], 0
je 0x1002dea3
xor eax, eax
cmp ax, word [ebx + 0x60]
je 0x1002dea3
mov ecx, dword [ebx + 0x68]
lea eax, [esp + 0x144]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002de96
test dx, dx
je 0x1002de92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002de96
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002de70
xor eax, eax
jmp 0x1002de9b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1002df45
push 0
push dword [esp + 0x1c]
push ebp
call sub.msjet40.dll_Ordinal_159
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
mov edi, dword [esp + 0x1c]
push eax
push eax
push dword [esp + 0x34]
lea eax, [esp + 0x2ac]
push eax
push dword [edi + 8]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push dword [esp + 0x2c]
lea eax, [esp + 0x180]
push eax
push dword [edi + 0x14]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
lea ecx, [esp + 0x144]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002df01
sub ecx, edx
push 0
sar ecx, 1
push 0
lea eax, [ecx + ecx]
push eax
lea eax, [esp + 0x150]
push eax
push dword [edi + 0x18]
push dword [esp + 0x2c]
push ebp
call sub.msjet40.dll_Ordinal_172
push 0
push 0
push 0
push dword [esp + 0x24]
push ebp
call sub.msjet40.dll_Ordinal_179
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1002df8b
push 0
push 1
push dword [esp + 0xe8]
push ebp
call sub.msjet40.dll_Ordinal_156
inc esi
mov dword [esp + 0x10], eax
cmp esi, dword [esp + 0xe4]
jb 0x1002dd72
mov eax, dword [esp + 0xe0]
cmp eax, 0xffffffff
je 0x1002dc96
push eax
push ebp
call sub.msjet40.dll_Ordinal_108
mov dword [esp + 0x10], eax
test eax, eax
je 0x1002dc96
mov esi, dword [esp + 0x14]
mov ebx, 0x80004005
jmp 0x1002dba4
mov ebx, eax
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
jmp 0x1002dba4
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
jmp 0x1002dba4
mov ebx, dword [esp + 0x38]
push 0x10068de8
push eax
push ebx
push esi
call fcn.10010bd0
jmp 0x1002dbc3
call fcn.1003e83e
int3