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

Disassembly:
sub esp, 0x68
mov eax, dword [0xa0b130]
xor eax, esp
mov dword [esp + 0x64], eax
push ebx
push ebp
mov ebp, dword [esp + 0x74]
lea eax, [esp + 0x38]
push esi
push edi
push dword [esp + 0x84]
mov esi, ecx
push dword [esp + 0x84]
mov dword [esp + 0x38], esi
push eax
lea ebx, [esi + 4]
mov ecx, ebx
mov dword [esp + 0x48], ebx
call fcn.0069fd50
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov eax, dword [edx + 0xc]
mov edi, dword [edx + 8]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], eax
cmp eax, 6
jae 0x696666
lea eax, [esp + 0x18]
mov word [esp + 0x20], 0x103
push eax
push ebp
mov ecx, ebx
mov dword [esp + 0x20], str.Invalid_record
call fcn.0067bc20
jmp 0x696c7f
push dword [edi]
mov ecx, esi
call fcn.0067e3c0
mov ecx, eax
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x696645
mov edx, dword [esp + 0x80]
mov al, byte [edx + 8]
mov ebx, dword [edx + 8]
and al, 1
mov edi, dword [edx + 0xc]
mov byte [esp + 0x2c], al
mov eax, ebx
and eax, 2
or eax, 0
je 0x69669f
shrd ebx, edi, 2
jmp 0x6966d5
cmp byte [ecx + 4], 0xe
je 0x6966c8
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x18]
push eax
push ebp
mov word [esp + 0x28], 0x103
mov dword [esp + 0x20], str.Invalid_type_for_value
call fcn.0067bc20
jmp 0x696c7f
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 0x10]
shr ebx, 8
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + 0x1c]
push ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], eax
call fcn.0067dc10
add esp, 4
mov dword [esp + 0x34], eax
lea eax, [esp + 0x24]
mov word [esp + 0x24], 0
mov ecx, esi
push eax
push dword [edx + 0x24]
lea eax, [esp + 0x20]
push dword [edx + 0x20]
push eax
call fcn.00684270
mov eax, dword [esp + 0x18]
test eax, eax
je 0x69671e
mov dword [ebp], eax
jmp 0x696c7f
mov edi, dword [esp + 0x80]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0xf
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x18], eax
or eax, ecx
mov dword [esp + 0x14], ecx
je 0x696801
mov ecx, dword [esi + 0x114]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0x110]
imul ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, eax
add edx, 0xffffffff
adc ecx, 0xffffffff
test ecx, ecx
jb 0x6967e1
ja 0x69678a
cmp edx, edi
jb 0x6967e1
lea eax, [esp + 0x18]
mov word [esp + 0x20], 0x103
push eax
push ebp
lea ecx, [esi + 4]
mov dword [esp + 0x20], str.Invalid_ID
call fcn.0067bc20
mov edx, dword [esp + 0x70]
cmp edx, 0x10
jb 0x696c7f
mov ecx, dword [esp + 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x696c75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x696c75
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, dword [esi + 0x110]
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [ecx + eax*8]
push eax
lea ecx, [esp + 0x60]
call fcn.004053b2
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x18], 0
cmp ecx, 6
jbe 0x69683b
push dword [esp + 0x34]
call fcn.0040cf9f
add esp, 4
test al, al
jne 0x696834
push dword [edi + 0x30]
call fcn.0067df50
add esp, 4
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x14], 0
cmp ecx, 7
jbe 0x696857
push dword [edi + 0x38]
call fcn.0067de40
add esp, 4
mov dword [esp + 0x14], eax
xor esi, esi
cmp ecx, 8
jbe 0x69686b
push dword [edi + 0x40]
call fcn.0067df20
add esp, 4
mov esi, eax
mov byte [esp + 0x10], 0
cmp ecx, 9
jbe 0x696887
mov ecx, dword [edi + 0x48]
or ecx, dword [edi + 0x4c]
mov byte [esp + 0x10], 1
jne 0x696887
mov byte [esp + 0x10], 0
push 1
push 0x34
call fcn.00413ef8
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x6968d9
push dword [esp + 0x10]
lea eax, [esp + 0x54]
mov word [esp + 0x4c], 0x105
push ebx
push dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
push 0
push eax
mov eax, dword [esp + 0x44]
push 0
push dword [esp + 0x4c]
push dword [esp + 0x48]
push dword [esp + 0x48]
push dword [eax + 0xec]
call fcn.00414a7e
mov edi, eax
jmp 0x6968db
xor edi, edi
push dword [esp + 0x24]
mov ecx, edi
call fcn.0040db52
cmp dword [esp + 0x6c], 0
je 0x696910
sub esp, 8
lea eax, [esp + 0x64]
cmp dword [esp + 0x78], 0x10
mov ecx, esp
cmovae eax, dword [esp + 0x64]
mov dword [ecx], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 4], eax
mov ecx, edi
call fcn.00404eda
push dword [esp + 0x18]
mov ecx, edi
call fcn.004143ee
shl esi, 6
xor esi, dword [edi + 0x14]
and esi, 0xc0
xor esi, dword [edi + 0x14]
mov dword [edi + 0x14], esi
cmp dword [esp + 0x84], 0xa
jbe 0x69695a
mov eax, dword [esp + 0x80]
push dword [eax + 0x50]
call fcn.0067d930
shl eax, 8
add esp, 4
xor eax, esi
and eax, 0x300
xor eax, esi
mov dword [edi + 0x14], eax
jmp 0x696967
push dword [esp + 0x38]
push edi
call fcn.006a26e0
add esp, 8
push ebx
push dword [esp + 0x2c]
call fcn.00414b1e
mov ebx, dword [esp + 0x38]
add esp, 8
push eax
push edi
lea ecx, [ebx + 0x144]
call fcn.00401c85
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x696b03
mov esi, dword [ebx + 0x294]
add ebx, 0x290
dec eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], eax
mov ecx, dword [ebx + 8]
cmp esi, ecx
je 0x6969c1
mov dword [esi], edi
mov dword [esi + 4], eax
add dword [ebx + 4], 8
jmp 0x696aff
mov edx, dword [ebx]
mov eax, esi
sub eax, edx
sar eax, 3
mov dword [esp + 0x2c], eax
cmp eax, 0x1fffffff
je 0x696c96
sub ecx, edx
inc eax
sar ecx, 3
mov dword [esp + 0x18], eax
mov edx, ecx
shr edx, 1
mov eax, 0x1fffffff
sub eax, edx
cmp ecx, eax
jbe 0x696a10
mov eax, 0xfffffff8
mov dword [esp + 0x10], 0x1fffffff
push eax
call fcn.00404818
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
jmp 0x696a74
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x18]
cmp eax, ecx
cmovae ecx, eax
mov dword [esp + 0x10], ecx
cmp ecx, 0x1fffffff
ja 0x696c9b
lea eax, [ecx*8]
cmp eax, 0x1000
jb 0x696a4b
push eax
call fcn.00404818
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
jmp 0x696a74
test eax, eax
je 0x696a68
push eax
call fcn.00405e93
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
jmp 0x696a74
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
xor ecx, ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
lea eax, [ecx + eax*8]
mov dword [eax], edi
mov dword [eax + 4], edx
mov edx, dword [ebx]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 4]
cmp esi, eax
jne 0x696a9d
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00412503
jmp 0x696aeb
mov ebx, ecx
cmp edx, esi
je 0x696ac1
mov eax, dword [edx]
lea ebx, [ebx + 8]
mov ecx, dword [edx + 4]
add edx, 8
mov dword [ebx - 8], eax
mov dword [ebx - 4], ecx
cmp edx, esi
jne 0x696aa3
mov ebx, dword [esp + 0x24]
mov edx, dword [ebx + 4]
jmp 0x696ac7
mov ebx, dword [esp + 0x24]
mov edx, eax
cmp esi, edx
je 0x696aeb
sub dword [esp + 0x28], esi
mov ebx, dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esi + ebx + 8], eax
mov dword [esi + ebx + 0xc], ecx
add esi, 8
cmp esi, edx
jne 0x696ad3
mov ebx, dword [esp + 0x24]
push dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, ebx
push dword [esp + 0x1c]
push eax
call fcn.00404b65
mov ebx, dword [esp + 0x30]
cmp dword [esp + 0x84], 0xb
jbe 0x696b99
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x58]
test ecx, ecx
je 0x696bb0
mov eax, dword [ebx + 0x17c]
mov edx, dword [ebx + 0x178]
sub eax, edx
sar eax, 2
cmp ecx, eax
jbe 0x696b90
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x40]
push eax
push ebp
mov word [esp + 0x50], 0x103
mov dword [esp + 0x48], str.Invalid_global_variable_comdat_ID
call fcn.0067bc20
mov edx, dword [esp + 0x70]
cmp edx, 0x10
jb 0x696c7f
mov ecx, dword [esp + 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x696c75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x696c75
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [edx + ecx*4 - 4]
mov dword [edi + 0x20], eax
jmp 0x696bb0
push dword [esp + 0x38]
call fcn.00681950
add esp, 4
test al, al
je 0x696bb0
mov dword [edi + 0x20], 1
cmp dword [esp + 0x84], 0xc
jbe 0x696be3
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
mov eax, dword [esp + 0x84]
push dword [eax + 0x60]
lea eax, [esp + 0x40]
push eax
call fcn.0067c490
mov ecx, eax
call fcn.004140fb
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x2c], eax
cmp dword [esp + 0x84], 0xd
jbe 0x696c12
mov eax, dword [esp + 0x80]
push dword [eax + 0x68]
call fcn.0067d960
movzx ecx, al
add esp, 4
mov eax, dword [edi + 0x14]
shl ecx, 0xe
and eax, 0xffffbfff
or ecx, eax
mov dword [edi + 0x14], ecx
push edi
call fcn.00682500
add esp, 4
cmp dword [esp + 0x84], 0xf
jbe 0x696c40
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x70]
add ecx, dword [ebx + 0xc4]
push dword [eax + 0x78]
push ecx
mov ecx, edi
call fcn.00410244
mov edx, dword [esp + 0x70]
mov dword [ebp], 0
cmp edx, 0x10
jb 0x696c7f
mov ecx, dword [esp + 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x696c75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x696c75
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004036ca
add esp, 8
mov ecx, dword [esp + 0x74]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004087b5
add esp, 0x68
ret 0xc
call fcn.0040713a
call fcn.004104b5
int3