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

Disassembly:
push 0xffffffffffffffff
push 0x1004cb74
mov eax, dword fs:[0]
push eax
sub esp, 0x4a8
mov eax, dword [0x10077990]
xor eax, esp
mov dword [esp + 0x4a4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10077990]
xor eax, esp
push eax
lea eax, [esp + 0x4bc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x4cc]
xor ecx, ecx
mov ebx, dword [esp + 0x4d0]
mov esi, dword [esp + 0x4d8]
mov ebp, dword [esp + 0x4e0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x4e4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x4ec]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x4f0]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4f4]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0xffffffff
call fcn.100135b0
lea ecx, [esp + 0x54]
mov dword [esp + 0x4c4], 0
call fcn.100135e0
mov dword [esp + 0x54], vtable.CTableProperties.0
xor eax, eax
mov byte [esp + 0x4c4], 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
test eax, eax
je 0x10038c9b
mov dword [eax], 0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10038ca9
mov dword [eax], 0
test ebx, ebx
jne 0x10038cb1
test eax, eax
je 0x10038ce0
cmp dword [esp + 0x4d4], 0
je 0x10038cbf
test esi, esi
je 0x10038ce0
mov esi, dword [esp + 0x4e8]
test esi, esi
je 0x10038cd1
cmp dword [esp + 0x38], 0
je 0x10038ce0
mov edx, dword [esp + 0x4dc]
test edx, edx
je 0x10038cea
test ebp, ebp
jne 0x10038cea
mov esi, 0x80070057
jmp 0x100391a4
xor ecx, ecx
test edx, edx
je 0x10038d12
lea eax, [ebp + 0xc]
cmp dword [eax - 4], 0
je 0x10038cfe
cmp dword [eax], 0
je 0x10038ce0
cmp dword [eax + 8], 0
je 0x10038d0a
cmp dword [eax + 0xc], 0
je 0x10038ce0
inc ecx
add eax, 0x38
cmp ecx, edx
jb 0x10038cf3
xor ecx, ecx
test esi, esi
je 0x10038d33
mov eax, dword [esp + 0x38]
lea esp, [esp]
cmp dword [eax], 0
jne 0x10038d2b
cmp dword [eax + 4], 0
jne 0x10038ce0
inc ecx
add eax, 0x18
cmp ecx, esi
jb 0x10038d20
cmp dword [esp + 0x74], 0
je 0x10038d59
mov edx, dword [esp + 0x40]
mov ecx, 0x10068bd8
mov esi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10038dc1
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10038d48
lea ecx, [esp + 0x84]
call fcn.10014da0
mov esi, eax
test esi, esi
js 0x100391a4
lea ecx, [esp + 0x54]
call fcn.10014da0
mov esi, eax
test esi, esi
js 0x100391a4
test ebx, ebx
jne 0x10038ddb
mov eax, dword [0x1007a1e0]
lea ebx, [esp + 0x9c]
push 0x80
push eax
mov dword [esp + 0x20], ebx
mov ecx, dword [eax]
mov dword [esp + 0xb4], 2
call dword [ecx + 0xc]
mov dword [esp + 0xb0], eax
test eax, eax
jne 0x10038dcb
mov esi, 0x8007000e
jmp 0x100391a4
mov esi, 0x80040e22
jmp 0x100391a4
push 0x40
push eax
mov dword [esp + 0x6c], 1
call fcn.10019fc0
cmp dword [ebx + 0x10], 2
jne 0x100394d5
cmp dword [ebx + 0x14], 0
je 0x100394d5
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x10038e6f
mov eax, dword [0x1007a1e0]
push 0x18
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov edx, eax
mov dword [esi], edx
test edx, edx
jne 0x10038e16
mov esi, 0x8007000e
jmp 0x100391a4
mov ecx, dword [ebx + 0x14]
lea esi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10038e20
sub ecx, esi
mov dword [edx + 0x10], 2
mov eax, dword [0x1007a1e0]
sar ecx, 1
lea esi, [ecx*2 + 2]
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0xc]
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx]
mov dword [ecx + 0x14], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10038e65
mov esi, 0x8007000e
jmp 0x100391a4
push dword [ebx + 0x14]
push esi
push eax
call fcn.10003fe0
push 0x10064cb8
lea ecx, [esp + 0x58]
call 0x10088fcb
mov esi, eax
test esi, esi
js 0x100391a4
push 0x10064cb8
lea ecx, [esp + 0x88]
call fcn.10014100
mov esi, eax
test esi, esi
js 0x100391a4
mov eax, dword [edi + 8]
lea ecx, [esp + 0x84]
mov eax, dword [eax + 0x54]
add eax, 0x98
push eax
call fcn.10017fe0
mov esi, eax
test esi, esi
js 0x100391a4
mov eax, dword [esp + 0x4e8]
test eax, eax
je 0x10038f9e
mov edi, dword [esp + 0x38]
mov ebx, eax
add edi, 8
xor ebp, ebp
mov edi, edi
mov ecx, 0x10063330
mov edx, edi
mov esi, 0xc
lea esp, [esp]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10038f21
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10038ef0
lea ecx, [esp + 0x54]
push 0
lea eax, [edi - 8]
push eax
push 1
call fcn.10016d20
test eax, eax
jns 0x10038f66
mov eax, dword [esp + 0x2c]
mov ebp, 1
jmp 0x10038f77
push edi
push 0x10056c78
call fcn.10002d40
test al, al
jne 0x10038f01
push edi
push 0x10056c68
call fcn.10002d40
test al, al
jne 0x10038f5d
push edi
push 0x10063320
call fcn.10002d40
test al, al
jne 0x10038f5d
push 0
push 1
lea eax, [edi - 8]
push eax
call fcn.1003d020
jmp 0x10038f12
lea ecx, [esp + 0x84]
jmp 0x10038f05
cmp eax, 0x40eda
mov eax, 1
mov dword [esp + 0x2c], eax
cmove ebp, eax
add edi, 0x18
dec ebx
jne 0x10038ee0
mov dword [esp + 0x28], ebp
cmp ebp, 1
mov ebp, dword [esp + 0x70]
jne 0x10038f96
test eax, eax
je 0x100394aa
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x78]
push eax
push 0xf7
call fcn.10015ba0
cmp dword [esp + 0x78], 0
jne 0x10039140
mov eax, dword [edi + 8]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x24]
push ecx
push dword [ebx + 0x14]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.10012ec0
mov esi, eax
test esi, esi
js 0x100391a4
mov ebx, dword [esp + 0x14]
xor edi, edi
mov dword [esp + 0x50], 1
cmp dword [esp + 0x4d4], edi
jbe 0x10039044
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
mov eax, dword [esp + 0x1c]
push dword [eax + 0x14]
push dword [esp + 0x50]
push dword [esp + 0x2c]
call fcn.10038480
mov esi, eax
test esi, esi
js 0x100391a0
cmp esi, 0x40eda
jne 0x10039035
mov dword [esp + 0x2c], 1
mov dword [esp + 0x28], 1
add dword [esp + 0x48], 0x34
inc edi
cmp edi, dword [esp + 0x4d4]
jb 0x10038ff8
xor edi, edi
cmp dword [esp + 0x4dc], edi
jbe 0x1003909b
mov ebx, ebp
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x1c]
push ebx
push dword [eax + 0x14]
lea eax, [esp + 0x2c]
push eax
call fcn.10038790
mov esi, eax
test esi, esi
js 0x100391a0
cmp esi, 0x40eda
jne 0x1003908e
mov dword [esp + 0x2c], 1
mov dword [esp + 0x28], 1
inc edi
add ebx, 0x38
cmp edi, dword [esp + 0x4dc]
jb 0x10039051
cmp dword [esp + 0x78], 0
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
jne 0x100390ef
mov eax, dword [edi + 8]
lea ecx, [esp + 0x54]
push dword [ebx + 0x14]
push dword [eax + 0x14]
push 0xffffffffffffffff
push dword [eax + 0x10]
call fcn.10017a50
mov esi, eax
test esi, esi
js 0x100391a4
mov eax, dword [edi + 8]
lea ecx, [esp + 0x1c]
push ecx
push dword [ebx + 0x14]
lea ecx, [esp + 0x5c]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.10017340
mov esi, eax
test esi, esi
js 0x100391a4
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
je 0x10039395
mov eax, dword [edi + 8]
push ecx
push dword [eax + 0x10]
call sub.msjet40.dll_Ordinal_108
mov dword [esp + 0x1c], eax
test eax, eax
jns 0x1003938d
cmp eax, 0xfffffbac
jne 0x10039383
push dword [esp + 0x20]
mov ecx, dword [edi + 8]
call fcn.1000b050
mov esi, eax
test esi, esi
js 0x100391a4
mov dword [esp + 0x20], 0xffffffff
mov esi, 0x80040e40
jmp 0x100391a4
xor edi, edi
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], edi
cmp dword [esp + 0x4d4], edi
jne 0x100394cb
cmp dword [esp + 0x24], edi
jne 0x100394cb
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x68]
push eax
push 0xf4
call fcn.10015190
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x44]
push eax
push 0xf5
call fcn.10015190
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x68]
test ebx, ebx
jne 0x100391c6
test esi, esi
jne 0x100391c6
mov esi, 0x80040e21
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x1c], 0
je 0x100394df
push 0x10068dc8
push dword [esp + 0x20]
push esi
push dword [edi + 8]
call fcn.10010bd0
jmp 0x100394f9
xor eax, eax
mov word [esp + 0xb4], ax
test esi, esi
je 0x1003920e
lea ecx, [esp + 0xb4]
mov edx, 0x201
mov eax, ecx
sub esi, eax
lea eax, [edx + 0x7ffffdfd]
test eax, eax
je 0x10039202
movzx eax, word [esi + ecx]
test ax, ax
je 0x10039202
mov word [ecx], ax
add ecx, 2
dec edx
jne 0x100391e4
jmp 0x10039206
test edx, edx
jne 0x10039209
sub ecx, 2
xor eax, eax
mov word [ecx], ax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
push ecx
push 0
lea ecx, [esp + 0x38]
mov eax, dword [eax + 8]
push ecx
lea ecx, [esp + 0xc0]
push ecx
push ebx
push dword [eax + 0x10]
call fcn.100130f0
mov esi, eax
test esi, esi
jns 0x1003927b
mov eax, dword [esp + 0x1c]
cmp eax, 0xfffffbf9
je 0x1003924a
cmp eax, 0xfffffc00
jne 0x10039273
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x1c]
push ecx
push 3
lea ecx, [esp + 0x38]
mov eax, dword [eax + 8]
push ecx
lea ecx, [esp + 0xc0]
push ecx
push dword [esp + 0x54]
push dword [eax + 0x10]
call fcn.100130f0
mov esi, eax
test esi, esi
js 0x100391a0
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x4c]
push eax
push 0xf3
call fcn.10015190
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1003919b
xor ecx, ecx
cmp cx, word [eax]
je 0x1003919b
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x80]
push eax
push 0xf6
call fcn.10015ba0
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x6c]
push eax
push 0xf0
call fcn.10015ba0
cmp dword [esp + 0x80], 1
mov esi, eax
mov eax, 0x40000000
cmove edi, eax
cmp dword [esp + 0x6c], 1
jne 0x100392ed
or edi, 0x20000000
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push edi
push dword [esp + 0x50]
mov eax, dword [ebx + 8]
push dword [esp + 0x38]
push dword [ecx + 0x14]
push dword [eax + 0x14]
push dword [eax + 0x10]
call sub.msjet40.dll_Ordinal_115
mov dword [esp + 0x1c], eax
cmp eax, 0xfffffade
jg 0x10039355
je 0x10039349
cmp eax, 0xfffff82f
je 0x1003933d
cmp eax, 0xfffff88d
je 0x10039331
cmp eax, 0xfffff8ef
jne 0x10039377
mov esi, 0x80040e09
mov edi, ebx
jmp 0x100391a4
mov esi, 0x80004005
mov edi, ebx
jmp 0x100391af
mov esi, 0x80040e3f
mov edi, ebx
jmp 0x100391af
mov eax, dword [esp + 0x1c]
cmp eax, 0xfffffae7
je 0x100394bf
cmp eax, 0xfffffc16
je 0x100394bf
test eax, eax
je 0x10038fe5
mov esi, 0x80004005
mov edi, ebx
jmp 0x100391a4
mov esi, 0x80004005
jmp 0x100391a4
mov dword [esp + 0x20], 0xffffffff
cmp dword [esp + 0x24], 0
je 0x10039479
push 0xf0
call fcn.1003d386
add esp, 4
mov dword [esp + 0x70], eax
mov byte [esp + 0x4c4], 2
test eax, eax
je 0x100393d0
push dword [esp + 0x74]
mov ecx, eax
call fcn.1001c170
mov esi, eax
mov dword [esp + 0x34], eax
jmp 0x100393d6
xor esi, esi
mov dword [esp + 0x34], esi
mov byte [esp + 0x4c4], 1
test esi, esi
jne 0x100393ec
mov esi, 0x8007000e
jmp 0x100391a4
push 1
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x48]
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0x94]
call fcn.100182c0
push 0x10068ef8
push dword [esp + 0x3c]
lea eax, [esp + 0x8c]
push dword [esp + 0x4f0]
push 0
push 0
push 0
push 0
push dword [esp + 0x98]
push eax
push dword [esp + 0x44]
push 0
push dword [ebx + 0x14]
push 0
push dword [edi + 8]
push 0
push esi
call fcn.1001c790
mov esi, eax
test esi, esi
jns 0x1003945d
mov eax, dword [esp + 0x24]
mov dword [eax], 0
jmp 0x10039493
mov ecx, dword [esp + 0x34]
push dword [esp + 0x24]
push dword [esp + 0x44]
mov eax, dword [ecx]
push ecx
call dword [eax]
mov esi, eax
test esi, esi
jns 0x1003949b
jmp 0x100391a4
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
je 0x10039493
push ecx
mov ecx, dword [edi + 8]
call fcn.1000b390
mov dword [esp + 0x20], 0xffffffff
test esi, esi
js 0x100391a4
cmp dword [esp + 0x28], 1
jne 0x100391a4
mov eax, dword [esp + 0x2c]
cmp eax, 1
mov esi, 0x80040e21
mov ecx, 0x40eda
cmove esi, ecx
jmp 0x100391a0
mov esi, 0x80040e3c
mov edi, ebx
jmp 0x100391a4
mov esi, 0x80070057
jmp 0x100391a0
mov esi, 0x80040e3c
jmp 0x100391a4
test esi, esi
jns 0x100394f9
mov eax, dword [edi + 8]
push 0
push 0x10068dc8
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.100105d0
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x1003950f
mov eax, dword [edi + 8]
push 0
push ecx
push dword [eax + 0x10]
call sub.msjet40.dll_Ordinal_107
test esi, esi
jns 0x10039601
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x10039526
mov eax, dword [ecx]
push 1
call dword [eax + 0xc]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10039539
cmp dword [eax], 0
je 0x10039539
mov dword [eax], 0
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
je 0x100395a5
push ecx
mov ecx, dword [edi + 8]
call fcn.1000b390
mov ebx, dword [esp + 0x4dc]
mov ecx, dword [esp + 0x18]
test ebx, ebx
je 0x100395a9
test ebp, ebp
je 0x100395a9
test ecx, ecx
je 0x100395a9
cmp dword [ecx + 0x10], 2
jne 0x100395a9
cmp dword [ecx + 0x14], 0
je 0x100395a9
test ebx, ebx
je 0x100395a9
cmp dword [ebp + 4], 1
jne 0x1003959f
mov eax, dword [ebp]
test eax, eax
je 0x1003959f
cmp dword [eax + 0x10], 2
jne 0x1003959f
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1003959f
mov eax, dword [edi + 8]
push ecx
push dword [eax + 0x14]
push dword [eax + 0x10]
call sub.msjet40.dll_Ordinal_911
mov dword [esp + 0x1c], eax
add ebp, 0x38
dec ebx
jne 0x10039572
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x50], 1
jne 0x100395c5
mov eax, dword [edi + 8]
push dword [ecx + 0x14]
push dword [eax + 0x14]
push dword [eax + 0x10]
call sub.msjet40.dll_Ordinal_126
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x10039601
mov eax, dword [ebx]
test eax, eax
je 0x10039601
mov edx, dword [eax + 0x14]
mov eax, dword [0x1007a1e0]
test edx, edx
je 0x100395ef
test eax, eax
je 0x100395fb
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
mov eax, dword [0x1007a1e0]
test eax, eax
je 0x100395fb
push dword [ebx]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebx], 0
cmp dword [esp + 0x64], 1
jne 0x10039623
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
test edx, edx
je 0x10039623
mov eax, dword [0x1007a1e0]
test eax, eax
je 0x10039623
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
lea ecx, [esp + 0x54]
mov byte [esp + 0x4c4], 0
call fcn.10013690
lea ecx, [esp + 0x84]
mov dword [esp + 0x4c4], 0xffffffff
call fcn.10013690
mov eax, esi
mov ecx, dword [esp + 0x4bc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4a4]
xor ecx, esp
call fcn.1003dba2
add esp, 0x4b4
ret 0x2c