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

Disassembly:
mov eax, 0x10f4
call fcn.1003e920
mov eax, dword [0x10077990]
xor eax, esp
mov dword [esp + 0x10f0], eax
push ebx
push ebp
push esi
push edi
mov ecx, dword [esp + 0x1108]
mov eax, dword [esp + 0x1110]
movdqu xmm0, xmmword [ecx + 0xdc]
mov edx, dword [esp + 0x1114]
mov dword [esp + 0x8c], eax
mov eax, dword [ecx + 0x38]
xor ebx, ebx
mov dword [esp + 0x28], ecx
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0x1118]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x24], eax
lea eax, [ecx + 0xdc]
mov dword [esp + 0x7c], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0xa0], eax
mov eax, dword [edx + 4]
xor esi, esi
mov dword [esp + 0x9c], eax
mov edi, dword [ecx + 0x64]
test ebp, ebp
mov eax, 1
mov dword [esp + 0x80], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x78], ebx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
cmove ebx, eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x110c]
mov dword [esp + 0x34], edx
lea eax, [eax + ecx*8]
mov dword [esp + 0x48], esi
dec eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x68], 1
movdqu xmmword [esp + 0xa4], xmm0
cmp ebx, eax
ja 0x100210fc
mov eax, dword [edi + 0x10]
mov edx, ebx
sub edx, dword [edi + 0x18]
mov ecx, edx
and edx, 7
shr ecx, 3
mov al, byte [ecx + eax]
test byte [edx + 0x1004e760], al
jne 0x100210fc
mov eax, dword [edi]
push eax
imul eax, ebx
add eax, dword [edi + 8]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.1003e000
mov eax, dword [esp + 0x30]
xor ebx, ebx
add esp, 0xc
cmp dword [esp + 0x8c], ebx
jne 0x100201f7
test eax, eax
je 0x100201e9
cmp dword [eax + 0x24], ebx
je 0x100201fc
mov edi, dword [esp + 0x28]
mov ebx, 0x80070057
jmp 0x10021109
cmp dword [eax + 0x24], ebx
jne 0x1002020d
mov edx, dword [esp + 0x58]
test edx, edx
jne 0x10020211
mov edi, dword [esp + 0x28]
jmp 0x100210bd
mov edx, dword [esp + 0x58]
cmp dword [eax + 8], ebx
je 0x100210f1
mov ecx, dword [esp + 0x7c]
cmp dword [ecx], 0xffffffff
jne 0x10020228
cmp dword [ecx + 4], ebx
je 0x1002024a
mov eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x10020234
cmp dword [ecx + 4], ebx
je 0x10020240
mov ecx, dword [esp + 0x34]
cmp eax, dword [ecx]
jne 0x10020240
test edx, edx
je 0x1002024e
mov ebx, 0x80040e54
jmp 0x10021101
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x44]
push eax
push edx
push ecx
mov ecx, edi
call fcn.1001d720
mov ebx, eax
mov dword [esp + 0x3c], ebx
test ebx, ebx
js 0x10021045
cmp dword [esp + 0x1120], 1
jne 0x100202ca
test byte [edi + 0x60], 0x10
mov dword [esp + 0x78], 1
jne 0x1002029c
lea ecx, [edi + 0xdc]
call fcn.1001d890
test eax, eax
jne 0x1002029c
mov eax, 1
jmp 0x1002029e
xor eax, eax
push eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
push dword [eax + 0x20]
push dword [eax + 0x24]
push dword [esp + 0x1128]
push 0
push edi
call 0x10088d73
test eax, eax
je 0x100202ca
mov ebx, 0x80040e4e
jmp 0x10021133
lea ecx, [edi + 0xdc]
call fcn.1001d890
test eax, eax
jne 0x1002036a
push ebp
mov ebp, dword [esp + 0x48]
push ebp
push dword [esp + 0x40]
call sub.msjet40.dll_Ordinal_159
mov esi, eax
mov dword [esp + 0x48], esi
cmp esi, 0xfffffc07
jg 0x10020320
je 0x10020316
cmp esi, 0xfffff88d
je 0x1002030c
cmp esi, 0xfffff8ef
jne 0x10020324
mov ebx, 0x80040e09
jmp 0x10021029
mov ebx, 0x80040e23
jmp 0x10021034
test esi, esi
je 0x1002032e
mov ebx, 0x80004005
jmp 0x10021029
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x34]
cmp ebp, 1
jne 0x1002034a
mov dword [edi + 0xdc], 0xfffffffe
mov dword [edx + 4], ebp
jmp 0x10020398
mov eax, dword [edx]
mov dword [edi + 0xdc], eax
mov eax, dword [esp + 0x111c]
mov dword [edi + 0xe4], eax
mov dword [edi + 0xe0], eax
inc dword [edx + 8]
jmp 0x10020372
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x58]
cmp ebp, 1
jne 0x1002037c
mov dword [edx + 4], ebp
jmp 0x10020398
mov eax, dword [edx + 4]
test al, 4
je 0x1002038d
mov ebx, 0x80040e23
jmp 0x10021105
test al, 1
jne 0x10020398
mov dword [edx + 4], 2
mov ebp, dword [esp + 0x24]
xor ecx, ecx
mov edx, 1
mov dword [esp + 0x74], 0
mov eax, dword [ebp + 0x24]
test eax, eax
cmove ecx, edx
mov dword [esp + 0x5c], ecx
je 0x10020e75
lea ebx, [edx + 0xf]
mov dword [esp + 0x88], 0xd
mov dword [esp + 0x98], 8
mov ecx, dword [esp + 0x28]
xor edx, edx
xor eax, eax
mov dword [esp + 0x10], 0
xor edi, edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], edx
cmp dword [ecx + 0x44], 1
mov dword [esp + 0x50], edi
cmove eax, ebx
mov dword [esp + 0x1c], edx
imul ebx, dword [esp + 0x74], 0x34
mov dword [esp + 0x64], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x60], edx
add ebx, 0x28
mov dword [esp + 0x2c], edx
add ebx, ebp
mov dword [esp + 0x20], edx
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x14], ebx
mov eax, dword [ebx + 0x1c]
test al, 1
je 0x10020442
mov edx, dword [ebx + 4]
add edx, ebp
mov dword [esp + 0x1c], edx
test al, 2
je 0x1002044b
mov edi, dword [ebx + 8]
add edi, ebp
test al, 4
je 0x10020464
mov ecx, dword [ebx + 0xc]
add ecx, ebp
mov dword [esp + 0x50], ecx
je 0x10020460
mov eax, dword [ecx]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx]
test eax, eax
je 0x10020f03
mov ebp, dword [ecx + 0x94]
imul ecx, eax, 0x68
mov eax, dword [ebp + 0xc]
add eax, 0xffffff98
add eax, ecx
mov dword [esp + 0x40], eax
je 0x10020f03
mov ecx, dword [eax + 0x20]
movzx eax, word [eax + 0x28]
mov dword [esp + 0x54], ecx
mov ecx, 0x83
cmp cx, ax
mov ecx, 0xe
cmove eax, ecx
mov dword [esp + 0x4c], eax
test edx, edx
jne 0x100204e1
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100204c9
cmp dword [eax], 3
je 0x100204c9
mov dword [esp + 0x10], 8
mov dword [esp + 0x20], 1
test edi, edi
je 0x100204e1
test eax, eax
jne 0x100204e1
mov dword [esp + 0x10], 8
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x7c]
push dword [eax]
call fcn.1001daa0
cmp eax, 1
jne 0x10020512
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
cmp eax, dword [ecx + 0xe8]
jne 0x10020512
mov dword [esp + 0x10], 8
jmp 0x10020f0b
cmp dword [esp + 0x20], 0
jne case.0x10020533.13
mov eax, dword [esp + 0x50]
test eax, eax
je case.0x10020533.0
mov eax, dword [eax]
cmp eax, 0xf
ja case.0x10020533.1
movzx eax, byte [eax + 0x100211a8]
jmp dword [eax*4 + 0x1002119c]
mov dword [esp + 0x10], 0xc
jmp 0x10020f0b
movzx ebx, word [ebx + 0x30]
mov eax, 0xd
cmp ax, bx
jne 0x10020587
mov eax, dword [esp + 0x14]
mov dword [esp + 0x90], 1
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1002057d
add eax, 4
push eax
push 0x10068bf8
call fcn.10002d40
test al, al
je 0x100205a2
mov dword [esp + 0x60], 1
jmp 0x100205a2
mov eax, dword [esp + 0x84]
mov ecx, 1
cmp bx, word [esp + 0x4c]
cmovne eax, ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100205d4
cmp dword [eax], 3
jne 0x100205d4
mov ebx, dword [esp + 0x40]
mov edx, 1
mov dword [esp + 0x2c], edx
cmp dword [ebx + 0x24], edx
je 0x10020f03
mov ebp, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x18], ecx
jmp 0x1002074a
mov eax, ebx
and eax, 0xffff8fff
cmp eax, 0x80
jne 0x1002060d
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
test edi, edi
je 0x100205fd
mov ecx, dword [edi]
mov dword [esp + 0x18], ecx
jmp 0x1002074a
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x18], ecx
jmp 0x1002074e
cmp eax, 0x81
je 0x10020692
cmp eax, 0x82
je 0x10020692
cmp eax, 8
jne 0x10020652
mov ebp, dword [esp + 0x1c]
mov ecx, 4
mov dword [esp + 0x18], ecx
cmp dword [ebp], 0
jne 0x10020742
push 0x1005bd30
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], eax
jmp 0x10020742
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
cmp eax, 0x83
jne 0x10020677
mov ebp, dword [esp + 0x1c]
mov ecx, 0x13
mov dword [esp + 0x18], ecx
jmp 0x1002074e
mov eax, dword [esp + 0x14]
imul ecx, dword [eax], 0x68
mov eax, dword [ebp + 0xc]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [ecx + eax - 0x3c]
mov dword [esp + 0x18], ecx
jmp 0x1002074e
mov ebp, dword [esp + 0x1c]
test edi, edi
je 0x100206a1
mov ecx, dword [edi]
jmp 0x10020732
xor ecx, ecx
mov dword [esp + 0x18], ecx
test ebp, ebp
je 0x1002073a
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x30]
cmp eax, 0x4081
jg 0x1002070b
je 0x100206f3
sub eax, 0x81
je 0x100206e3
dec eax
jne 0x1002073a
mov ecx, ebp
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100206d0
sub ecx, edx
sar ecx, 1
add ecx, ecx
jmp 0x10020732
mov ecx, ebp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100206e8
sub ecx, edx
jmp 0x10020732
mov eax, dword [ebp]
test eax, eax
je 0x1002073a
mov ecx, eax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020700
sub ecx, edx
jmp 0x10020732
cmp eax, 0x4082
jne 0x1002073a
mov edx, dword [ebp]
test edx, edx
je 0x1002073a
lea ecx, [edx + 2]
lea esp, [esp]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x10020720
sub edx, ecx
sar edx, 1
lea ecx, [edx + edx]
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x10020742
mov dword [esp + 0x64], 0x20
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x14]
cmp ecx, dword [edi + 0x28]
jbe 0x10020780
movzx eax, word [edi + 0x30]
cmp word [esp + 0x98], ax
je 0x10020780
cmp word [esp + 0x88], ax
jne 0x10020778
mov eax, dword [ebx + 0x24]
cmp eax, 0xb
je 0x10020780
cmp eax, 0xc
je 0x10020780
mov dword [esp + 0x10], 2
cmp dword [esp + 0x84], 1
jne 0x10020885
test edx, edx
jne 0x10020885
mov ecx, dword [0x1007a190]
lea eax, [esp + 0x30]
push ebp
mov ebp, dword [esp + 0x50]
push eax
mov edx, dword [ecx]
lea eax, [esp + 0x20]
push eax
movzx eax, word [edi + 0x30]
push ebp
push eax
push ecx
call dword [edx + 0x14]
push dword [esp + 0x30]
test eax, eax
mov ecx, 1
mov eax, dword [esp + 0x24]
push dword [esp + 0x2c]
cmovs eax, ecx
mov dword [esp + 0x28], eax
call fcn.1001f2a0
mov ecx, dword [esp + 0x10]
test eax, eax
mov eax, 2
cmovs ecx, eax
mov eax, dword [0x1007a190]
mov dword [esp + 0x10], ecx
mov ecx, ebx
push 0
mov edi, dword [eax]
call fcn.10008c70
movzx eax, al
mov ecx, ebx
push eax
call fcn.10008c40
mov ebx, dword [esp + 0x30]
movzx eax, al
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x44]
push dword [esp + 0x44]
push dword [ebx + 0x8c]
push dword [esp + 0x38]
push eax
push dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
push ebp
movzx eax, word [eax + 0x30]
push eax
push dword [0x1007a190]
call dword [edi + 0xc]
test eax, eax
jns 0x1002084c
mov dword [esp + 0x10], 2
jmp 0x10020869
mov eax, 0x82
cmp bp, ax
jne 0x10020869
cmp dword [esp + 0x18], 0
jne 0x10020869
cmp dword [esp + 0x10], 0
jne 0x10020869
or dword [esp + 0x64], 0x20
mov eax, dword [ebx + 0x8c]
xor ecx, ecx
mov dword [esp + 0x3c], ecx
cmp dword [esp + 0x20], ecx
jne case.0x10020533.13
mov ecx, dword [esp + 0x30]
jmp 0x10020893
mov ebx, dword [esp + 0x28]
mov eax, ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x30], ecx
mov edx, 0xb
cmp dx, bp
mov ebp, dword [esp + 0x2c]
jne 0x100208ba
test ebp, ebp
jne 0x100208ba
cmp dword [esp + 0x10], 2
je 0x100208ba
test eax, eax
mov edx, 1
cmovne ecx, edx
mov dword [esp + 0x30], ecx
cmp dword [esp + 0x90], 1
jne 0x10020d19
mov edx, dword [esp + 0x60]
test edx, edx
jne 0x10020b61
push 0x44
push edx
lea eax, [esp + 0xc4]
mov dword [esp + 0xc0], edx
push eax
call fcn.1003e950
xor ecx, ecx
mov dword [esp + 0x58], 0
add esp, 0xc
mov dword [esp + 0x14], ecx
xor ebx, ebx
mov dword [esp + 0x20], ecx
xor edi, edi
cmp ebp, 1
je 0x10020a0c
test ebp, ebp
mov ebp, dword [esp + 0x1c]
jne 0x1002091e
cmp dword [ebp], ecx
je 0x10020a10
test ebp, ebp
jne 0x1002092f
mov dword [esp + 0x10], 7
jmp 0x10020a50
push 0
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x5c]
push dword [esp + 0x50]
push dword [esp + 0x48]
call sub.msjet40.dll_Ordinal_184
mov ecx, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0x48], esi
test ecx, ecx
je 0x10020922
test esi, esi
jne 0x10020922
mov eax, dword [ebp]
lea edx, [esp + 0x20]
push edx
push 0x10068c18
push eax
mov ecx, dword [eax]
call dword [ecx]
mov ecx, eax
mov dword [esp + 0x3c], ecx
test ecx, ecx
js 0x10020997
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x10020997
mov eax, dword [ecx]
lea edx, [esp + 0xb8]
push 1
push edx
push ecx
call dword [eax + 0x24]
mov ecx, eax
mov dword [esp + 0x3c], ecx
test ecx, ecx
jns 0x100209c4
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], 7
test ecx, ecx
je 0x10020a50
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
jmp 0x10020a50
mov eax, dword [esp + 0x14]
push dword [esp + 0xc4]
push dword [esp + 0xc4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
mov ecx, eax
mov dword [esp + 0x3c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x14]
jns 0x10020a55
mov dword [esp + 0x10], 6
test ecx, ecx
je 0x10020a50
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
jmp 0x10020a50
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
dec eax
neg eax
push 0
sbb eax, eax
and eax, 0x20
push eax
push 0
push 0
push dword [esp + 0x64]
push dword [esp + 0x58]
push dword [esp + 0x50]
call sub.msjet40.dll_Ordinal_172
mov esi, eax
mov ecx, 7
mov eax, dword [esp + 0x10]
test esi, esi
mov dword [esp + 0x48], esi
cmovs eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov ebx, 1
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc0], edi
test ebx, ebx
jne 0x10020b18
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10020a80
cmp dword [eax], 3
je 0x10020b18
lea esp, [esp]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x4c]
push edx
push 0x1000
lea edx, [esp + 0x108]
mov eax, dword [ecx]
push edx
push 0
push edi
push ecx
call dword [eax + 0xc]
mov ecx, dword [esp + 0x14]
test eax, eax
jns 0x10020abf
test ecx, ecx
je 0x10020abf
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx]
lea edx, [esp + 0x94]
push edx
push dword [esp + 0x50]
lea edx, [esp + 0x108]
push edx
push 0
push edi
push ecx
call dword [eax + 0x10]
mov ecx, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0x3c], esi
test esi, esi
jns 0x10020b02
test ecx, ecx
je 0x10020b02
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
add edi, dword [esp + 0x4c]
cmp dword [esp + 0x4c], 0x1000
je 0x10020a80
mov esi, dword [esp + 0x48]
test ecx, ecx
je 0x10020b2a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
neg eax
sbb eax, eax
and dword [esp + 0x14], eax
test ebp, ebp
je case.0x10020533.13
cmp dword [esp + 0x2c], 0
jne case.0x10020533.13
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x10020b4b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp]
test ecx, ecx
je case.0x10020533.13
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp case.0x10020533.13
cmp edx, 1
jne 0x10020d19
push 0x800
push ebx
mov dword [esp + 0x28], 0
call fcn.1001f2a0
mov ebx, eax
mov dword [esp + 0x3c], ebx
test ebx, ebx
jns 0x10020b94
mov dword [esp + 0x10], 8
jmp 0x10020ce7
cmp ebp, 1
je 0x10020cb3
mov eax, dword [esp + 0x1c]
test ebp, ebp
jne 0x10020bad
cmp dword [eax], ebp
je 0x10020cb3
test eax, eax
je 0x10020cdf
mov eax, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x10068bf8
push eax
mov ecx, dword [eax]
call dword [ecx]
mov ecx, eax
mov dword [esp + 0x3c], ecx
test ecx, ecx
js 0x10020cdf
cmp dword [esp + 0x20], 0
je 0x10020cdf
mov eax, dword [esp + 0x28]
mov ebx, 1
xor edi, edi
mov ebp, dword [eax + 0x8c]
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x30]
push edx
push 0x800
push ebp
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], ecx
test ecx, ecx
jns 0x10020c1b
test eax, eax
je 0x10020b87
xor ecx, ecx
mov dword [esp + 0x3c], ecx
cmp ebx, 1
jne 0x10020c2f
test eax, eax
jne 0x10020c37
or edi, 0x20
jmp 0x10020c37
test ebx, ebx
jne 0x10020c37
test eax, eax
je 0x10020ca1
push 0
push edi
push eax
push ebp
push dword [esp + 0x64]
push dword [esp + 0x58]
push dword [esp + 0x50]
call sub.msjet40.dll_Ordinal_172
mov esi, eax
mov dword [esp + 0x48], esi
cmp esi, 0xfffffbe8
jg 0x10020c7f
je 0x10020c75
cmp esi, 0xfffff88d
je 0x10020c75
cmp esi, 0xfffff8ef
je 0x10020c75
cmp esi, 0xfffffa20
jne 0x10020c8b
mov dword [esp + 0x10], 9
jmp 0x10020c9d
cmp esi, 0xfffffbe9
je 0x10020c95
test esi, esi
je 0x10020c9d
mov dword [esp + 0x10], 8
jmp 0x10020c9d
mov dword [esp + 0x10], 0xb
mov eax, dword [esp + 0x30]
xor ebx, ebx
lea edi, [ebx + 1]
cmp eax, 0x800
je 0x10020bf0
jmp 0x10020ce7
lea eax, [ebp - 1]
neg eax
push 0
sbb eax, eax
and eax, 0x20
push eax
push 0
push 0
push dword [esp + 0x64]
push dword [esp + 0x58]
push dword [esp + 0x50]
call sub.msjet40.dll_Ordinal_172
mov esi, eax
mov dword [esp + 0x48], esi
test esi, esi
jns 0x10020ce7
mov dword [esp + 0x10], 7
cmp dword [esp + 0x2c], 0
jne case.0x10020533.13
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x10020d00
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je case.0x10020533.13
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
jmp case.0x10020533.13
cmp dword [esp + 0x10], 2
je case.0x10020533.13
push 0
push dword [esp + 0x68]
push ecx
push eax
push dword [esp + 0x64]
push dword [esp + 0x58]
push dword [esp + 0x50]
call sub.msjet40.dll_Ordinal_172
mov esi, eax
mov dword [esp + 0x48], esi
cmp esi, 0xfffffa20
jg 0x10020db0
je 0x10020dd4
cmp esi, 0xfffff9bb
jg 0x10020d89
je 0x10020dd4
cmp esi, 0xfffff88d
jg 0x10020d7f
je 0x10020dca
cmp esi, 0xfffff189
jl 0x10020dea
cmp esi, 0xfffff18b
jg 0x10020dea
mov dword [esp + 0x10], 0xb
jmp 0x10020df6
cmp esi, 0xfffff8ef
je 0x10020dca
jmp 0x10020dea
cmp esi, 0xfffffa05
je 0x10020da6
lea eax, [esi + 0x5fa]
cmp eax, 1
ja 0x10020dea
mov dword [esp + 0x10], 6
jmp 0x10020df6
mov dword [esp + 0x10], 2
jmp 0x10020dfa
cmp esi, 0xfffffbe9
jg 0x10020dde
je 0x10020d75
cmp esi, 0xfffffbe3
je 0x10020dd4
cmp esi, 0xfffffbe8
jne 0x10020dea
mov dword [esp + 0x10], 9
jmp 0x10020df6
mov dword [esp + 0x10], 0xa
jmp 0x10020df6
test esi, esi
je 0x10020df8
cmp esi, 0x64a
je 0x10020df6
test esi, esi
jns case.0x10020533.13
mov dword [esp + 0x10], 8
test esi, esi
jns case.0x10020533.13
push 0x10068c38
push esi
push 0x80040e21
push dword [ebx + 0x38]
call fcn.10010bd0
xor esi, esi
mov dword [esp + 0x48], esi
cmp dword [esp + 0x10], 0xf
jbe 0x10020f0b
mov dword [esp + 0x80], 1
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x10020e37
mov eax, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10020e4e
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x74]
mov ebx, 0x10
mov ebp, dword [esp + 0x24]
inc eax
mov dword [esp + 0x74], eax
cmp eax, dword [ebp + 0x24]
jb 0x100203d6
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
test byte [edi + 0x60], 0x10
je 0x10021006
cmp ecx, 1
jne 0x10021006
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x94]
push eax
push 4
lea eax, [esp + 0x68]
push eax
push ebp
push dword [esp + 0x48]
call sub.msjet40.dll_Ordinal_179
mov esi, eax
cmp esi, 0xfffffbe3
jg 0x10020f7f
je 0x10020f52
cmp esi, 0xfffff8ef
jg 0x10020f38
je 0x1002030c
cmp esi, 0xfffff189
jl 0x10020eed
cmp esi, 0xfffff18b
jle 0x10020f2a
cmp esi, 0xfffff88d
je 0x1002030c
test esi, esi
jns 0x10020fb0
push 0x10068c38
mov ebx, 0x80004005
push esi
push ebx
jmp 0x10020f5e
mov dword [esp + 0x10], 0xa
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x100211c0]
jmp dword [eax*4 + 0x100211b8]
push 0x10068c38
mov ebx, 0x80040e03
push esi
push ebx
jmp 0x10020f5e
cmp esi, 0xfffff9bb
je 0x10020f52
cmp esi, 0xfffffae0
jne 0x10020eed
mov ebx, 0x80040e05
jmp 0x10021034
push 0x10068c38
mov ebx, 0x80040e2f
push esi
push ebx
push dword [edi + 0x38]
call fcn.10010bd0
push 3
push ebp
push dword [esp + 0x40]
mov dword [esp + 0x74], 0
call sub.msjet40.dll_Ordinal_159
jmp 0x10021029
cmp esi, 0x651
jg 0x10020f9a
je 0x10020fa9
test esi, esi
je 0x10020fb2
cmp esi, 0x64e
je 0x10020fa9
jmp 0x10020eed
lea eax, [esi - 0x658]
cmp eax, 2
ja 0x10020eed
mov ebx, 0x40edc
jmp 0x10020fb6
xor esi, esi
test ebx, ebx
js 0x10020fc7
cmp dword [esp + 0x58], 1
jne 0x10020fc7
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
mov dword [ecx], eax
mov eax, dword [edi + 0xe0]
lea ebp, [edi + 0xdc]
mov ecx, ebp
mov dword [esp + 0x88], eax
call fcn.10011040
mov ecx, dword [edi + 0x10]
lea eax, [esp + 0x88]
push 0
push 0
push 0
push eax
push 1
call fcn.10024c10
mov ecx, dword [esp + 0x34]
mov dword [ecx + 4], 8
jmp 0x10021010
mov ecx, dword [esp + 0x34]
lea ebp, [edi + 0xdc]
test byte [edi + 0x60], 0x10
jne 0x10021029
cmp dword [esp + 0x5c], 1
jne 0x10021029
cmp dword [esp + 0x58], 0
je 0x10021029
mov eax, dword [ebp]
mov dword [ecx], eax
test esi, esi
je 0x10021043
cmp dword [esp + 0x68], 1
jne 0x10021043
push 0x10068c38
push esi
push ebx
push dword [edi + 0x38]
call fcn.10010bd0
test ebx, ebx
jne 0x100210b5
cmp dword [esp + 0x5c], 0
jne 0x100210a0
cmp dword [esp + 0x80], 0
je 0x100210b9
push 3
push dword [esp + 0x48]
push dword [esp + 0x40]
call sub.msjet40.dll_Ordinal_159
mov dword [edi + 0xdc], 0xffffffff
mov ebx, 0x80040e21
mov dword [edi + 0xe4], 0
mov dword [edi + 0xe0], 0
mov dword [edi + 0xe8], 0xffffffff
mov dword [edi + 0xec], 1
jmp 0x10021105
cmp dword [esp + 0x80], 0
mov eax, dword [esp + 0x24]
je 0x100210bd
mov ebx, 0x40eda
jmp 0x100210bd
test ebx, ebx
js 0x10021105
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x1120], 1
jne 0x1002116f
cmp dword [esp + 0x78], 1
jne 0x1002116f
push dword [esp + 0x6c]
push dword [eax + 0x20]
push dword [eax + 0x24]
push dword [esp + 0x1128]
push 4
push edi
call fcn.1001ebf0
jmp 0x1002116f
mov edi, dword [esp + 0x28]
mov ebx, 0x80040e4b
jmp 0x10021109
mov ebx, 0x80040e00
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x1120], 1
jne 0x10021133
cmp dword [esp + 0x78], 1
jne 0x10021133
push dword [esp + 0x6c]
push dword [eax + 0x20]
push dword [eax + 0x24]
push dword [esp + 0x1128]
push 3
push edi
call fcn.1001ebf0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0xa4]
mov dword [ecx], eax
mov eax, dword [esp + 0xa8]
mov dword [ecx + 8], eax
mov dword [ecx + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x1002117e
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [esp + 0x1100]
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003dba2
add esp, 0x10f4
ret 0x1c