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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x10b8
call fcn.00404511
mov eax, dword [0xa0b130]
xor eax, esp
mov dword [esp + 0x10b4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [esp + 0x68], eax
push 0
push 0xc
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x64], edi
push ecx
lea ecx, [edi + 0x10]
mov dword [esp + 0x24], esi
mov dword [esp + 0x8c], eax
mov dword [esp + 0xfc], 0
call fcn.00414e2f
mov ecx, dword [esp + 0x1b4]
test ecx, ecx
je 0x68d70f
mov dword [esi], ecx
mov eax, esi
pop edi
pop esi
mov ecx, dword [esp + 0x10b4]
xor ecx, esp
call fcn.004087b5
mov esp, ebp
pop ebp
ret 8
lea ecx, [edi + 0x170]
call fcn.0040d909
test al, al
je 0x68d75c
lea eax, [esp + 0x2f0]
mov word [esp + 0x2f8], 0x103
push eax
push esi
lea ecx, [edi + 4]
mov dword [esp + 0x2f8], str.Invalid_function_metadata:_incoming_forward_references
call fcn.0067bc20
mov eax, esi
pop edi
pop esi
mov ecx, dword [esp + 0x10b4]
xor ecx, esp
call fcn.004087b5
mov esp, ebp
pop ebp
ret 8
lea eax, [edi + 0x144]
mov dword [edi + 0x188], 0
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov dword [esp + 0x220], eax
mov eax, 0x2aaaaaab
imul ecx
lea ecx, [edi + 0x170]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0xb4], eax
call fcn.004074b9
mov dword [esp + 0xf0], eax
lea ecx, [edi + 0x134]
lea eax, [esp + 0x80]
push eax
call fcn.0040b3d9
mov esi, dword [esp + 0x68]
mov eax, dword [eax]
mov dl, byte [esi + 0xa]
mov dword [esp + 0x80], eax
test dl, 1
je 0x68d7d3
mov ecx, esi
call fcn.00404fcf
mov dl, byte [esi + 0xa]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x3c]
lea eax, [eax + eax*2]
lea esi, [ecx + eax*8]
test dl, 1
je 0x68d7f4
mov ecx, dword [esp + 0x68]
call fcn.00404fcf
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x3c]
push esi
push ecx
lea eax, [esp + 0x29c]
push eax
call fcn.00408247
mov ecx, dword [esp + 0x2a0]
add esp, 0xc
mov eax, dword [esp + 0x298]
mov dword [esp + 0x74], ecx
mov dword [esp + 0xdc], eax
cmp ecx, eax
je 0x68d99e
xor edx, edx
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x80]
lea esi, [edi + 0x144]
mov dword [esp + 0x6c], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [edx + eax + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x68d885
mov dword [eax], 3
mov dword [eax + 4], 0
mov dword [eax + 8], ecx
test ecx, ecx
je 0x68d87f
cmp ecx, 0xfffff000
je 0x68d87f
cmp ecx, 0xffffe000
je 0x68d87f
mov ecx, eax
call fcn.00413f89
add dword [esi + 4], 0xc
jmp 0x68d892
lea ecx, [esp + 0x6c]
push ecx
push eax
mov ecx, esi
call fcn.00408c06
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x7c], eax
cmp eax, ecx
je 0x68d8af
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
add dword [esi + 0x10], 4
jmp 0x68d975
mov edx, dword [esi + 0xc]
sub eax, edx
sar eax, 2
mov dword [esp + 0x6c], eax
cmp eax, 0x3fffffff
je 0x693b48
sub ecx, edx
inc eax
sar ecx, 2
mov dword [esp + 0x78], eax
mov edx, ecx
shr edx, 1
mov eax, 0x3fffffff
sub eax, edx
cmp ecx, eax
jbe 0x68d8e6
mov eax, 0x3fffffff
jmp 0x68d8f2
lea eax, [edx + ecx]
cmp eax, dword [esp + 0x78]
cmovb eax, dword [esp + 0x78]
push eax
lea ecx, [esi + 0xc]
mov dword [esp + 0x98], eax
call fcn.00415bc7
mov ecx, dword [esp + 0x6c]
mov edx, eax
lea eax, [edx + ecx*4]
mov dword [esp + 0xe0], edx
mov ecx, dword [esp + 0x40]
mov dword [eax], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jne 0x68d934
mov eax, dword [esp + 0x40]
jmp 0x68d950
push edx
push eax
push dword [esp + 0x48]
call fcn.00401a05
mov edx, dword [esp + 0x78]
add esp, 0xc
mov ecx, dword [esi + 0x10]
add edx, 4
mov eax, dword [esp + 0x7c]
push edx
push ecx
push eax
call fcn.00401a05
add esp, 0xc
lea ecx, [esi + 0xc]
push dword [esp + 0x94]
push dword [esp + 0x7c]
push dword [esp + 0xe8]
call fcn.00410398
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x98]
add ecx, 0x18
add edx, 4
mov dword [esp + 0x74], ecx
mov dword [esp + 0x98], edx
cmp ecx, dword [esp + 0xdc]
jne 0x68d830
mov ecx, dword [edi + 0x148]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x144]
imul ecx
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0
sar edx, 1
mov dword [esp + 0x244], eax
mov esi, edx
lea eax, [esp + 0x100]
shr esi, 0x1f
mov dword [esp + 0x248], eax
add esi, edx
lea eax, [esp + 0xc38]
mov dword [esp + 0x44], esi
mov dword [esp + 0xc28], eax
lea esi, [edi + 0x10]
push 0
lea eax, [esp + 0x30]
mov dword [esp + 0x104], 0
push eax
mov ecx, esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x254], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0xc34], 0
mov dword [esp + 0xc38], 0x40
call fcn.004019dd
mov cl, byte [esp + 0x34]
mov al, cl
not al
test al, 1
je 0x693a03
mov edx, dword [esp + 0x2c]
mov eax, edx
sub eax, 0
je 0x6939d5
sub eax, 1
je 0x693800
sub eax, 1
je 0x691f03
push 0
lea eax, [esp + 0xc2c]
mov dword [esp + 0xc30], 0
push eax
push dword [esp + 0x38]
lea eax, [esp + 0x2c]
mov dword [esp + 0x54], 0
push eax
mov ecx, esi
call fcn.00409b56
mov al, byte [esp + 0x24]
not al
test al, 1
je 0x6937c9
mov esi, dword [esp + 0x20]
mov dword [esp + 0x38], esi
lea eax, [esi - 1]
cmp eax, 0x39
ja case.0x68dac6.14
jmp dword [eax*4 + 0x693b50]
cmp dword [esp + 0xc2c], 1
jb 0x6920d6
mov ecx, dword [esp + 0xc28]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x6920d6
lea eax, [esp + 0x4f]
push eax
push dword [ecx]
lea ecx, [edi + 0x2e0]
call fcn.004107f3
mov eax, dword [esp + 0x68]
lea ecx, [edi + 0x338]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x1c0]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00411937
test al, al
je 0x68db4e
call fcn.0040d10c
lea edx, [edi + 0x338]
test al, al
je 0x68db3d
mov eax, dword [edx]
mov ecx, dword [esp + 0x1c0]
jmp 0x68db61
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x1c0]
shl eax, 4
add eax, dword [edx]
jmp 0x68db61
mov ecx, dword [edi + 0x344]
lea edx, [edi + 0x338]
shl ecx, 4
add ecx, dword [edx]
mov eax, ecx
push 1
push edx
push eax
push ecx
lea eax, [esp + 0x328]
mov ecx, edx
push eax
call fcn.0040f9ca
mov edx, dword [edi + 0x344]
lea ecx, [edi + 0x338]
mov eax, dword [ecx]
push 1
shl edx, 4
add eax, edx
push ecx
push eax
push eax
lea eax, [esp + 0x330]
push eax
call fcn.0040f9ca
mov eax, dword [esp + 0x318]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x320]
jne 0x68dc26
mov eax, dword [edi + 0x2e4]
xor esi, esi
sub eax, dword [edi + 0x2e0]
sar eax, 2
mov dword [esp + 0x50], eax
test eax, eax
je 0x68dd25
nop dword [eax + eax]
mov word [esp + 0x34c], 0x101
mov eax, dword [edi + 0xe8]
push 0x2c
mov dword [esp + 0x3c], eax
call fcn.00405e93
add esp, 4
test eax, eax
je 0x68dc0f
push 0
push dword [esp + 0x6c]
lea ecx, [esp + 0x34c]
push ecx
push dword [esp + 0x44]
mov ecx, eax
call fcn.004070c7
mov ecx, eax
jmp 0x68dc11
xor ecx, ecx
mov eax, dword [edi + 0x2e0]
mov dword [eax + esi*4], ecx
inc esi
cmp esi, dword [esp + 0x50]
jne 0x68dbd0
jmp 0x68dd25
call fcn.0040d10c
mov byte [esp + 0x4f], al
test al, al
mov eax, dword [esp + 0x1c]
je 0x68dc3a
add eax, 0xfffffff0
mov ecx, dword [edi + 0x2e4]
mov edx, dword [eax + 8]
sub ecx, dword [edi + 0x2e0]
sub edx, dword [eax + 4]
sar ecx, 2
sar edx, 2
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x40], edx
cmp edx, ecx
ja 0x69207b
xor esi, esi
test ecx, ecx
je 0x68dcfb
cmp esi, edx
jae 0x68dc9e
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x68dc9e
push 0
push dword [esp + 0x6c]
call fcn.00409e1c
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
mov ecx, dword [edi + 0x2e0]
mov eax, dword [eax + esi*4]
mov dword [ecx + esi*4], eax
jmp 0x68dce8
mov word [esp + 0x358], 0x101
mov eax, dword [edi + 0xe8]
push 0x2c
mov dword [esp + 0x3c], eax
call fcn.00405e93
add esp, 4
test eax, eax
je 0x68dcdd
push 0
push dword [esp + 0x6c]
lea ecx, [esp + 0x358]
push ecx
push dword [esp + 0x44]
mov ecx, eax
call fcn.004070c7
mov ecx, eax
jmp 0x68dcdf
xor ecx, ecx
mov eax, dword [edi + 0x2e0]
mov dword [eax + esi*4], ecx
mov eax, dword [esp + 0x28]
inc esi
mov edx, dword [esp + 0x40]
cmp esi, dword [esp + 0x50]
jne 0x68dc70
cmp byte [esp + 0x4f], 0
mov esi, dword [esp + 0x1c]
je 0x68dd09
add esi, 0xfffffff0
push 0
lea ecx, [esi + 4]
call fcn.0040b5ff
mov dword [esi], 0xffffe000
dec dword [edi + 0x33c]
inc dword [edi + 0x340]
mov eax, dword [edi + 0x2e0]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
test byte [esp + 0x24], 1
je 0x69203d
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x69203d
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
jmp 0x69203d
lea ecx, [esp + 0x244]
call fcn.00676fa0
mov esi, eax
test esi, esi
je 0x6920f4
mov ecx, dword [esp + 8]
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x68dd95
push ecx
mov eax, esp
mov dword [eax], 2
lea eax, [esp + 0x64]
push dword [esp + 0x64]
push eax
call fcn.0040c757
mov ecx, dword [esp + 0x6c]
add esp, 0xc
add esi, 0x1c
lea eax, [esp + 0x60]
cmp eax, esi
je 0x68ddde
mov eax, dword [esi]
test eax, eax
je 0x68ddb4
push eax
push esi
call fcn.00413d7c
mov ecx, dword [esp + 0x68]
add esp, 8
mov dword [esi], ecx
mov eax, dword [esp + 0x60]
test eax, eax
je 0x68dd31
push esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.0040c810
add esp, 0xc
mov dword [esp + 0x60], 0
jmp 0x68dd31
test ecx, ecx
je 0x68dd31
push ecx
lea eax, [esp + 0x64]
push eax
call fcn.00413d7c
add esp, 8
jmp 0x68dd31
lea ecx, [esp + 0x244]
call fcn.00676fa0
mov dword [esp + 0x28], eax
test eax, eax
je 0x692154
mov edx, dword [esp + 0xc2c]
cmp edx, 4
jb 0x692154
mov ecx, dword [esp + 0xc28]
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x38], eax
cmp edx, 5
jne 0x68de51
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
mov byte [esp + 0x148], 1
jne 0x68de59
mov byte [esp + 0x148], 0
mov eax, dword [ecx + 0x10]
xor esi, esi
mov dword [esp + 0x40], 0
test eax, eax
je 0x68de8c
dec eax
lea ecx, [edi + 0x170]
push eax
call fcn.00403328
push eax
call fcn.0041388b
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
je 0x692112
mov eax, dword [esp + 0x38]
test eax, eax
je 0x68deb6
lea ecx, [eax - 1]
push ecx
lea ecx, [edi + 0x170]
call fcn.00403328
push eax
call fcn.0041388b
mov esi, eax
add esp, 4
test esi, esi
je 0x692133
push dword [esp + 0x148]
lea eax, [esp + 0x158]
push esi
push dword [esp + 0x48]
push dword [esp + 0x5c]
push dword [esp + 0x2c]
push eax
call fcn.00411027
mov esi, eax
add esp, 0x18
lea eax, [esp + 8]
cmp esi, eax
je 0x68df17
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x68def6
push ecx
push eax
call fcn.00413d7c
add esp, 8
mov eax, dword [esi]
mov dword [esp + 8], eax
mov eax, dword [esi]
test eax, eax
je 0x68df17
lea ecx, [esp + 8]
push ecx
push eax
push esi
call fcn.0040c810
add esp, 0xc
mov dword [esi], 0
mov eax, dword [esp + 0x154]
test eax, eax
je 0x68df33
push eax
lea eax, [esp + 0x158]
push eax
call fcn.00413d7c
add esp, 8
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
test eax, eax
je 0x68df5d
push ecx
mov eax, esp
mov dword [eax], 2
lea eax, [esp + 0x68]
push dword [esp + 0x68]
push eax
call fcn.0040c757
mov eax, dword [esp + 0x70]
add esp, 0xc
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x64]
add esi, 0x1c
cmp ecx, esi
je 0x68dfaa
mov ecx, dword [esi]
test ecx, ecx
je 0x68df80
push ecx
push esi
call fcn.00413d7c
mov eax, dword [esp + 0x6c]
add esp, 8
mov dword [esi], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x68dd31
push esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0040c810
add esp, 0xc
mov dword [esp + 0x64], 0
jmp 0x68dd31
test eax, eax
je 0x68dd31
push eax
lea eax, [esp + 0x68]
push eax
call fcn.00413d7c
add esp, 8
jmp 0x68dd31
push 0
lea eax, [esp + 0x220]
mov dword [esp + 0x20], 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692192
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 1]
cmp eax, dword [esp + 0xc2c]
ja 0x692192
mov esi, dword [esp + 0x21c]
mov eax, dword [esp + 0xc28]
push dword [esi]
push dword [eax + ecx*8]
call fcn.0067de90
add esp, 8
cmp eax, 0xffffffff
je 0x692175
push 0
lea ecx, [esp + 0x360]
mov word [esp + 0x368], 0x101
push ecx
push esi
push eax
call fcn.00404b42
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
add esp, 0x10
mov esi, eax
cmp edx, dword [ecx + 8]
jb 0x68e079
push 4
push 0
lea eax, [ecx + 0xc]
push eax
call fcn.00405e1b
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
mov eax, dword [ecx]
mov dword [eax + edx*4], esi
mov eax, dword [esp + 0x1c]
inc dword [ecx + 4]
inc eax
cmp eax, dword [esp + 0xc2c]
jae 0x691e5f
push esi
call fcn.00413570
add esp, 4
test al, al
je 0x691e5f
mov eax, dword [esp + 0xc28]
mov ecx, dword [esp + 0x1c]
push dword [eax + ecx*8 + 8]
lea eax, [esp + 0x228]
push eax
call fcn.0067da00
mov eax, dword [esp + 0x22c]
add esp, 8
test eax, eax
je 0x691e5f
push eax
mov ecx, esi
call fcn.0040dfe4
jmp 0x691e5f
push 0
lea eax, [esp + 0x22c]
mov dword [esp + 0x20], 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x6921cc
mov esi, dword [esp + 0x228]
lea eax, [esp + 0x234]
push eax
lea eax, [esp + 0x20]
mov ecx, edi
push dword [esi]
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x6921cc
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 1]
cmp eax, dword [esp + 0xc2c]
ja 0x6921cc
mov eax, dword [esp + 0xc28]
push dword [esi]
push dword [eax + ecx*8]
call fcn.0067d690
add esp, 8
mov dword [esp + 0x38], eax
cmp eax, 0xffffffff
je 0x6921af
push 0
lea ecx, [esp + 0x36c]
mov word [esp + 0x374], 0x101
push ecx
push dword [esp + 0x23c]
push esi
push eax
call fcn.00409c5f
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
add esp, 0x14
mov esi, eax
cmp edx, dword [ecx + 8]
jb 0x68e1c8
push 4
push 0
lea eax, [ecx + 0xc]
push eax
call fcn.00405e1b
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
mov eax, dword [ecx]
mov dword [eax + edx*4], esi
inc dword [ecx + 4]
mov ecx, dword [esp + 0x1c]
inc ecx
cmp ecx, dword [esp + 0xc2c]
jae 0x691e5f
mov eax, dword [esp + 0x38]
cmp eax, 0xd
je 0x68e26f
cmp eax, 0xf
je 0x68e26f
cmp eax, 0x11
je 0x68e26f
cmp eax, 0x19
je 0x68e26f
cmp eax, 0x14
je 0x68e24b
cmp eax, 0x13
je 0x68e24b
cmp eax, 0x1a
je 0x68e24b
cmp eax, 0x1b
je 0x68e24b
push esi
call fcn.00413570
add esp, 4
test al, al
je 0x691e5f
mov eax, dword [esp + 0xc28]
mov ecx, dword [esp + 0x1c]
push dword [eax + ecx*8 + 8]
lea eax, [esp + 0x23c]
push eax
call fcn.0067da00
mov eax, dword [esp + 0x240]
jmp 0x68e0c7
mov eax, dword [esp + 0xc28]
mov eax, dword [eax + ecx*8]
and eax, 1
or eax, 0
je 0x691e5f
push 1
mov ecx, esi
call fcn.004137a5
jmp 0x691e5f
lea eax, [ecx*8]
mov ecx, dword [esp + 0xc28]
mov dword [esp + 0x38], eax
mov eax, dword [eax + ecx]
and eax, 2
or eax, 0
je 0x68e29c
push 1
mov ecx, esi
call fcn.0040df5d
mov ecx, dword [esp + 0xc28]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + ecx]
and eax, 1
or eax, 0
je 0x691e5f
push 1
mov ecx, esi
call fcn.004110ae
jmp 0x691e5f
push 0
lea eax, [esp + 0x114]
mov dword [esp + 0x44], 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692223
mov esi, dword [esp + 0x40]
lea eax, [esi + 2]
cmp eax, dword [esp + 0xc2c]
jne 0x692223
mov eax, dword [esp + 0xc28]
mov ecx, edi
push dword [eax + esi*8]
call fcn.0067e3c0
mov ecx, dword [esp + 0xc28]
mov edx, eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x38], edx
push dword [ecx + esi*8 + 8]
call fcn.0067d820
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, 0xffffffff
je 0x692206
test edx, edx
je 0x692206
lea ecx, [esp + 0xec]
mov dword [esp + 0xec], 0
push ecx
push edx
push dword [esp + 0x118]
push eax
call fcn.004133e0
mov esi, eax
add esp, 0x10
mov dword [esp + 0x28], esi
test esi, esi
je 0x68e3eb
mov ecx, dword [esp + 0xec]
test ecx, ecx
je 0x68e435
mov edx, dword [edi + 0x188]
add edi, 0x184
cmp edx, dword [edi + 8]
jb 0x68e3ad
push 4
push 0
lea eax, [edi + 0xc]
mov ecx, edi
push eax
call fcn.00405e1b
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0xec]
mov eax, dword [edi]
mov dword [eax + edx*4], ecx
inc dword [edi + 4]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0xec]
push edi
lea ecx, [esi + 0x18]
call fcn.004125ad
lea eax, [edi + 0x10]
neg edi
lea ecx, [esi + 0x20]
mov esi, dword [esp + 0x28]
sbb edi, edi
and edi, eax
mov eax, dword [ecx]
mov dword [edi + 4], ecx
mov dword [edi], eax
mov dword [eax + 4], edi
mov dword [ecx], edi
mov edi, dword [esp + 0x5c]
jmp 0x68e435
mov esi, dword [esp + 0x38]
push esi
push dword [esp + 0x114]
push dword [esp + 0x48]
call fcn.00401ded
add esp, 0xc
test al, al
je 0x6921e9
push 0
lea eax, [esp + 0x378]
mov word [esp + 0x380], 0x101
push eax
push esi
push dword [esp + 0x11c]
push dword [esp + 0x50]
call fcn.00415866
add esp, 0x14
mov esi, eax
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
cmp edx, dword [ecx + 8]
jb 0x68e45f
push 4
push 0
lea eax, [ecx + 0xc]
push eax
call fcn.00405e1b
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
mov eax, dword [ecx]
mov dword [eax + edx*4], esi
inc dword [ecx + 4]
jmp 0x691e5f
mov dword [esp + 0x1c], 0
cmp esi, 0x2b
jne 0x68e4ab
mov ecx, dword [esp + 0xc28]
mov byte [esp + 0x4f], 1
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x68e491
mov byte [esp + 0x4f], 0
push dword [ecx + 8]
mov ecx, edi
mov dword [esp + 0x20], 2
call fcn.0067e3c0
mov esi, eax
mov dword [esp + 0x48], esi
jmp 0x68e4b5
cmp esi, 0x1e
sete byte [esp + 0x4f]
xor esi, esi
lea eax, [esp + 0xf8]
mov dword [esp + 0xf8], 0
push eax
lea eax, [esp + 0x244]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692294
mov ecx, dword [esp + 0xf8]
mov al, byte [ecx + 4]
test esi, esi
jne 0x68e514
cmp al, 0x12
je 0x68e506
cmp al, 0x11
jne 0x68e50b
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x48], esi
jmp 0x68e52a
cmp al, 0x12
je 0x68e51c
cmp al, 0x11
jne 0x68e521
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax]
cmp esi, dword [ecx + 0x10]
jne 0x692277
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0xeb4]
mov dword [esp + 0xea8], edx
mov dword [esp + 0xeac], 0
mov dword [esp + 0xeb0], 0x10
cmp eax, dword [esp + 0xc2c]
je 0x68e5e5
nop
push 0
lea eax, [esp + 0x240]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692240
mov edx, dword [esp + 0xeac]
cmp edx, dword [esp + 0xeb0]
jb 0x68e5b9
push 4
push 0
lea eax, [esp + 0xebc]
push eax
lea ecx, [esp + 0xeb4]
call fcn.00405e1b
mov edx, dword [esp + 0xeac]
mov ecx, dword [esp + 0xea8]
mov eax, dword [esp + 0x23c]
mov dword [ecx + edx*4], eax
inc dword [esp + 0xeac]
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0xc2c]
jne 0x68e560
mov edx, dword [esp + 0xea8]
push 0
lea eax, [esp + 0x384]
mov word [esp + 0x38c], 0x101
push eax
sub esp, 8
mov ecx, esp
push dword [esp + 0x250]
mov dword [ecx], edx
mov eax, dword [esp + 0xec0]
push esi
mov dword [ecx + 4], eax
call fcn.00413d36
add esp, 0x10
mov esi, eax
mov eax, dword [esp + 0xeb0]
mov ecx, esp
push esi
mov dword [ecx], eax
mov eax, dword [esp + 0xeb8]
mov dword [ecx + 4], eax
push dword [esp + 0x54]
call fcn.0040b8e8
lea ecx, [edi + 0x184]
mov dword [esp + 0x58], eax
mov edx, dword [ecx + 4]
add esp, 0x10
cmp edx, dword [ecx + 8]
jb 0x68e669
push 4
push 0
lea eax, [ecx + 0xc]
push eax
call fcn.00405e1b
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
mov eax, dword [ecx]
mov dword [eax + edx*4], esi
inc dword [ecx + 4]
cmp byte [esp + 0x4f], 0
je 0x68e681
push 1
mov ecx, esi
call fcn.004055bf
mov eax, dword [esp + 0xea8]
lea ecx, [esp + 0xeb4]
cmp eax, ecx
je 0x691e5f
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x691e5f
lea eax, [esp + 0x48]
mov dword [esp + 0x40], 0
push eax
lea eax, [esp + 0x180]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692353
mov eax, dword [esp + 0xc2c]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], esi
cmp esi, eax
je 0x692336
mov edx, dword [esp + 0x48]
lea eax, [esp + 0xe44]
xor ecx, ecx
mov dword [esp + 0xe38], eax
mov dword [esp + 0xe3c], ecx
mov dword [esp + 0xe40], 4
nop dword [eax]
mov al, byte [edx + 4]
mov edi, dword [esp + 0x28]
mov byte [esp + 0x4f], al
mov eax, dword [esp + 0xc28]
mov esi, dword [eax + esi*8]
mov eax, dword [eax + edi*8 + 4]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x4f]
cmp al, 0xf
je 0x68e751
cmp al, 0x10
jne 0x6922b1
xor edi, edi
cmp edi, dword [esp + 0x1c]
mov edi, dword [esp + 0x5c]
jne 0x69231c
cmp al, 0xf
jne 0x68e77b
cmp dword [esp + 0x1c], 0
ja 0x6922e8
jb 0x68e77b
cmp esi, dword [edx + 8]
jae 0x6922e8
cmp al, 0x10
jne 0x68e797
mov eax, dword [esp + 0x1c]
cmp eax, dword [edx + 0x1c]
ja 0x692302
jb 0x68e797
cmp esi, dword [edx + 0x18]
jae 0x692302
cmp ecx, dword [esp + 0xe40]
jb 0x68e7bf
push 4
push 0
lea eax, [esp + 0xe4c]
push eax
lea ecx, [esp + 0xe44]
call fcn.00405e1b
mov ecx, dword [esp + 0xe3c]
mov eax, dword [esp + 0xe38]
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0xe3c]
mov eax, dword [esp + 0x48]
inc ecx
cmp byte [esp + 0x4f], 0xf
mov dword [esp + 0xe3c], ecx
jne 0x68e7eb
mov eax, dword [eax + 0xc]
lea edx, [eax + esi*4]
jmp 0x68e7ee
mov edx, dword [eax + 0xc]
mov esi, dword [esp + 0x28]
mov edx, dword [edx]
inc esi
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], esi
cmp esi, dword [esp + 0x38]
jne 0x68e720
push 0
lea eax, [esp + 0x390]
mov word [esp + 0x398], 0x101
push eax
mov eax, dword [esp + 0xe40]
sub esp, 8
mov ecx, esp
push dword [esp + 0x18c]
mov dword [ecx], eax
mov eax, dword [esp + 0xe50]
mov dword [ecx + 4], eax
call fcn.0040f7e5
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
add esp, 0x14
mov esi, eax
cmp edx, dword [ecx + 8]
jb 0x68e86e
push 4
push 0
lea eax, [ecx + 0xc]
push eax
call fcn.00405e1b
mov edx, dword [edi + 0x188]
lea ecx, [edi + 0x184]
mov eax, dword [ecx]
mov dword [eax + edx*4], esi
inc dword [ecx + 4]
lea ecx, [esp + 0xe44]
mov eax, dword [esp + 0xe38]
jmp 0x68e68f
mov esi, dword [esp + 0x44]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x100]
mov dword [esp + 0x20], 0
push eax
push esi
lea eax, [esp + 0x28]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x69242f
push 0
lea eax, [esp + 0x128]
mov ecx, edi
push eax
push esi
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692412
mov eax, dword [esp + 0xc2c]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], esi
cmp esi, eax
je 0x6923f5
mov edx, dword [esp + 0xfc]
lea eax, [esp + 0xe60]
xor ecx, ecx
mov dword [esp + 0xe54], eax
mov dword [esp + 0xe58], ecx
mov dword [esp + 0xe5c], 4
mov edx, dword [edx]
mov dword [esp + 0x40], edx
mov al, byte [edx + 4]
mov edi, dword [esp + 0x28]
mov byte [esp + 0x4f], al
mov eax, dword [esp + 0xc28]
mov esi, dword [eax + esi*8]
mov eax, dword [eax + edi*8 + 4]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x4f]
cmp al, 0xf
je 0x68e961
cmp al, 0x10
jne 0x692370
xor edi, edi
cmp edi, dword [esp + 0x1c]
mov edi, dword [esp + 0x5c]
jne 0x6923db
cmp al, 0xf
jne 0x68e9a0
cmp dword [esp + 0x1c], 0
ja 0x68e983
jb 0x68e9bc
cmp esi, dword [edx + 8]
jb 0x68e9bc
push str.INSERTVAL:_Invalid_struct_index
lea ecx, [esp + 0x578]
call fcn.00415f82
lea eax, [esp + 0x574]
jmp 0x692388
cmp al, 0x10
jne 0x68e9bc
mov eax, dword [esp + 0x1c]
cmp eax, dword [edx + 0x1c]
ja 0x6923a7
jb 0x68e9bc
cmp esi, dword [edx + 0x18]
jae 0x6923a7
cmp ecx, dword [esp + 0xe5c]
jb 0x68e9e8
push 4
push 0
lea eax, [esp + 0xe68]
push eax
lea ecx, [esp + 0xe60]
call fcn.00405e1b
mov ecx, dword [esp + 0xe58]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xe54]
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0xe58]
inc ecx
cmp byte [esp + 0x4f], 0xf
mov dword [esp + 0xe58], ecx
mov edx, dword [edx + 0xc]
mov dword [esp + 0x50], ecx
jne 0x68ea12
lea edx, [edx + esi*4]
mov esi, dword [esp + 0x28]
mov edx, dword [edx]
inc esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], esi
cmp esi, dword [esp + 0x38]
jne 0x68e930
mov eax, dword [esp + 0x124]
cmp edx, dword [eax]
jne 0x6923c1
mov eax, dword [esp + 0xe54]
push 2
push 0x40
mov word [esp + 0x3a8], 0x101
mov dword [esp + 0x40], eax
mov dword [esp + 0x330], eax
mov dword [esp + 0x334], ecx
call fcn.00413ef8
mov esi, eax
add esp, 8
test esi, esi
je 0x68eac4
push 0
push 2
lea eax, [esi - 0x20]
mov ecx, esi
push eax
mov eax, dword [esp + 0x108]
push 0x41
push dword [eax]
call fcn.0040c829
lea eax, [esi + 0x30]
mov ecx, esi
mov dword [esi + 0x24], eax
lea eax, [esp + 0x398]
push eax
push dword [esp + 0x54]
mov dword [esi + 0x28], 0
push dword [esp + 0x40]
mov dword [esi + 0x2c], 4
push dword [esp + 0x130]
push dword [esp + 0x10c]
call fcn.0040213f
jmp 0x68eac6
xor esi, esi
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
mov eax, dword [esp + 0xe54]
lea ecx, [esp + 0xe60]
jmp 0x68e68f
lea eax, [esp + 0x48]
mov dword [esp + 0x1c], 0
push eax
lea eax, [esp + 0x184]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x69244c
mov esi, dword [esp + 0x180]
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x20]
mov ecx, edi
push dword [esi]
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x69244c
lea eax, [esp + 0x188]
push eax
push dword [edi + 0xe8]
call fcn.00404ce1
add esp, 4
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x69244c
push 0
push 0
lea eax, [esp + 0x3ac]
mov word [esp + 0x3b4], 0x101
push eax
push dword [esp + 0x190]
push esi
push dword [esp + 0x19c]
call fcn.00413138
add esp, 0x18
mov esi, eax
jmp 0x691e4b
mov esi, dword [esp + 0x44]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x12c]
mov dword [esp + 0x20], 0
push eax
push esi
lea eax, [esp + 0x28]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692486
lea eax, [esp + 0x190]
mov ecx, edi
push eax
mov eax, dword [esp + 0x12c]
push dword [eax]
lea eax, [esp + 0x24]
push esi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x692486
push 0
lea eax, [esp + 0x190]
mov ecx, edi
push eax
push esi
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692486
mov esi, dword [esp + 0x18c]
push dword [esi]
call fcn.00412a6c
mov ecx, dword [edi + 0xe8]
add esp, 4
mov dword [esp + 0x38], eax
push ecx
test eax, eax
je 0x68ec97
call fcn.00404ce1
mov ecx, dword [esp + 0x3c]
add esp, 4
cmp dword [ecx + 0x10], eax
je 0x68eca7
push str.Invalid_type_for_value
lea ecx, [esp + 0x5d8]
call fcn.00415f82
lea eax, [esp + 0x5d4]
jmp 0x692097
call fcn.00404ce1
add esp, 4
cmp dword [esi], eax
jne 0x692469
push 0
push 0
lea eax, [esp + 0x3b8]
mov word [esp + 0x3c0], 0x101
push eax
push dword [esp + 0x19c]
push dword [esp + 0x138]
push esi
call fcn.00413138
add esp, 0x18
lea ecx, [edi + 0x184]
mov esi, eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
call fcn.00401267
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0xc2c]
jae 0x691e5f
push esi
call fcn.00413570
add esp, 4
test al, al
je 0x691e5f
mov eax, dword [esp + 0xc28]
mov ecx, dword [esp + 0x1c]
push dword [eax + ecx*8]
lea eax, [esp + 0x198]
push eax
call fcn.0067da00
mov eax, dword [esp + 0x19c]
jmp 0x68e0c7
mov esi, dword [esp + 0x44]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x19c]
mov dword [esp + 0x44], 0
push eax
push esi
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x6924c0
push 0
lea eax, [esp + 0x1a0]
mov ecx, edi
push eax
push esi
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x6924c0
mov esi, dword [esp + 0x198]
mov eax, dword [esi]
mov al, byte [eax + 4]
cmp al, 0x12
je 0x68eda8
cmp al, 0x11
jne 0x6924a3
push 2
push 0x24
mov word [esp + 0x3cc], 0x101
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x68eded
push 0
lea ecx, [esp + 0x3c0]
push ecx
push dword [esp + 0x1a4]
mov ecx, eax
push esi
call fcn.00402473
mov esi, eax
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
jmp 0x691e4b
mov eax, dword [esp + 0x48]
xor esi, esi
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
jmp 0x691e4b
lea eax, [esp + 0x48]
mov dword [esp + 0x1c], 0
push eax
lea eax, [esp + 0x1a4]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692517
mov esi, dword [esp + 0x1a0]
mov ecx, dword [esi]
mov al, byte [ecx + 4]
cmp al, 0x12
je 0x68ee4c
cmp al, 0x11
jne 0x6924dd
lea eax, [esp + 0x1a8]
push eax
push dword [ecx + 0x10]
lea eax, [esp + 0x24]
mov ecx, edi
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x6924fa
push 0
lea eax, [esp + 0x1a8]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x6924fa
push 3
push 0x24
mov word [esp + 0x3d8], 0x101
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x691e49
push 0
lea ecx, [esp + 0x3cc]
push ecx
push dword [esp + 0x1ac]
mov ecx, eax
push dword [esp + 0x1b4]
push esi
call fcn.0040a2e5
mov esi, eax
jmp 0x691e4b
lea eax, [esp + 0x48]
mov dword [esp + 0x1c], 0
push eax
lea eax, [esp + 0x1b0]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x69256e
mov esi, dword [esp + 0x1ac]
lea eax, [esp + 0x12c]
push eax
lea eax, [esp + 0x20]
mov ecx, edi
push dword [esi]
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x69256e
push 0
lea eax, [esp + 0x134]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692551
mov eax, dword [esi]
mov al, byte [eax + 4]
cmp al, 0x12
je 0x68ef87
cmp al, 0x11
jne 0x692534
mov eax, dword [esp + 0x12c]
mov eax, dword [eax]
mov al, byte [eax + 4]
cmp al, 0x12
je 0x68ef9f
cmp al, 0x11
jne 0x692534
push 2
push 0x44
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x68efdd
push 0
lea ecx, [esp + 0x3d8]
mov word [esp + 0x3e0], 0x101
push ecx
push dword [esp + 0x138]
mov ecx, eax
push dword [esp + 0x138]
push esi
call fcn.00413d31
mov esi, eax
jmp 0x68efdf
xor esi, esi
mov eax, dword [esp + 0x130]
mov dword [esp + 0x3c], esi
mov eax, dword [eax]
cmp byte [eax + 4], 0x12
sete byte [esp + 0x338]
push dword [esp + 0x338]
push dword [eax + 0x14]
mov eax, dword [esp + 0x50]
push dword [eax + 0x10]
call fcn.00405a51
add esp, 0xc
mov dword [esp + 0x48], eax
jmp 0x691e4f
mov esi, dword [esp + 0x44]
lea eax, [esp + 0xa4]
push 0
push eax
push esi
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
lea eax, [esp + 0xc38]
mov ecx, edi
push eax
call fcn.00680650
test al, al
jne 0x6925c5
lea eax, [esp + 0x144]
mov ecx, edi
push eax
mov eax, dword [esp + 0xa8]
push dword [eax]
lea eax, [esp + 0x24]
push esi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x6925c5
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0xc2c]
jae 0x6925a8
mov ecx, dword [esp + 0xc28]
xor esi, esi
mov eax, dword [ecx + eax*8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax]
call fcn.0040140b
mov ecx, dword [esp + 0xc2c]
test al, al
mov eax, dword [esp + 0x1c]
je 0x68f0f1
lea edx, [eax + 1]
cmp ecx, edx
jbe 0x68f0f1
mov ecx, dword [esp + 0xc28]
mov eax, edx
mov dword [esp + 0x1c], eax
push dword [ecx + eax*8]
lea eax, [esp + 0x340]
push eax
call fcn.0067da00
mov ecx, dword [esp + 0xc34]
add esp, 8
mov esi, dword [eax]
mov eax, dword [esp + 0x1c]
inc eax
cmp eax, ecx
jne 0x69258b
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax]
call fcn.0040140b
push 2
push 0x24
test al, al
je 0x68f173
call fcn.00413ef8
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x68f165
push 0
push 0
lea eax, [esp + 0x3e8]
mov word [esp + 0x3f0], 0x101
push eax
push dword [esp + 0x150]
mov eax, dword [esp + 0xb4]
push eax
push dword [esp + 0x54]
push 0x36
push dword [eax]
call fcn.004019ba
mov ecx, dword [esp + 0x48]
add esp, 4
push eax
call fcn.004120e4
mov eax, dword [esp + 0x28]
jmp 0x68f1ce
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
jmp 0x68f1ce
call fcn.00413ef8
add esp, 8
mov dword [esp + 0x28], eax
test eax, eax
je 0x68f1c8
push 0
push 0
lea eax, [esp + 0x3f4]
mov word [esp + 0x3fc], 0x101
push eax
push dword [esp + 0x150]
mov eax, dword [esp + 0xb4]
push eax
push dword [esp + 0x54]
push 0x35
push dword [eax]
call fcn.004019ba
mov ecx, dword [esp + 0x48]
add esp, 4
push eax
call fcn.004120e4
mov eax, dword [esp + 0x28]
jmp 0x68f1ce
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], eax
test esi, esi
je 0x68f1e7
push esi
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.0040dfe4
jmp 0x691e4f
mov esi, dword [esp + 0x28]
jmp 0x691e4f
cmp dword [esp + 0xc2c], 0
push 0
jne 0x68f227
mov esi, dword [edi + 0xe8]
push 0x24
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x691e49
push 0
push 0
push esi
mov ecx, eax
call fcn.004061f9
mov esi, eax
jmp 0x691e4b
lea eax, [esp + 0x20]
mov dword [esp + 0x44], 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x4c]
mov dword [esp + 0x28], 0
push eax
lea eax, [esp + 0xc38]
mov ecx, edi
push eax
call fcn.00680650
test al, al
jne 0x6925ff
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0xc2c]
jne 0x6925e2
mov eax, dword [edi + 0xe8]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
xor eax, eax
test esi, esi
setne al
push eax
push 0x24
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x691e49
push 0
push esi
push dword [esp + 0x40]
mov ecx, eax
call fcn.004061f9
mov esi, eax
jmp 0x691e4b
mov ecx, dword [esp + 0xc2c]
cmp ecx, 1
je 0x68f2bf
cmp ecx, 3
jne 0x69261c
mov eax, dword [esp + 0xc28]
mov esi, dword [edi + 0x2e0]
mov edx, dword [eax]
mov eax, dword [edi + 0x2e4]
sub eax, esi
sar eax, 2
cmp edx, eax
jae 0x692656
mov edx, dword [esi + edx*4]
mov dword [esp + 0x40], edx
test edx, edx
je 0x692656
cmp ecx, 1
jne 0x68f320
push ecx
push 0x24
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x68f39a
push 0
push dword [esp + 0x44]
mov ecx, eax
call fcn.00404903
mov dword [esp + 0x28], eax
mov esi, eax
jmp 0x691e4b
mov ecx, dword [esp + 0xc28]
mov ecx, dword [ecx + 8]
cmp ecx, eax
jb 0x68f332
xor esi, esi
jmp 0x68f335
mov esi, dword [esi + ecx*4]
push dword [edi + 0xe8]
call fcn.00404ce1
add esp, 4
mov ecx, edi
push eax
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
push 2
push eax
call fcn.00680500
mov dword [esp + 0x38], eax
test esi, esi
je 0x692639
test eax, eax
je 0x692639
push 3
push 0x24
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x68f39a
push 0
push dword [esp + 0x3c]
mov ecx, eax
push esi
push dword [esp + 0x4c]
call fcn.00409471
mov dword [esp + 0x28], eax
mov esi, eax
jmp 0x691e4b
mov dword [esp + 0x28], 0
mov esi, dword [esp + 0x28]
jmp 0x691e4b
mov eax, dword [esp + 0xc2c]
cmp eax, 1
je 0x68f3c0
cmp eax, 2
jne 0x692673
push dword [edi + 0xe8]
call fcn.0040863e
add esp, 4
mov ecx, edi
push eax
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
push 0
push eax
call fcn.00680500
mov dword [esp + 0x50], eax
test eax, eax
je 0x6926ad
xor esi, esi
cmp dword [esp + 0xc2c], 2
jne 0x68f42a
mov ecx, dword [esp + 0xc28]
mov eax, dword [edi + 0x2e4]
mov esi, dword [ecx + 8]
mov ecx, dword [edi + 0x2e0]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x692690
mov esi, dword [ecx + esi*4]
test esi, esi
je 0x692690
xor eax, eax
test esi, esi
setne al
inc eax
push eax
push 0x24
mov dword [esp + 0x40], eax
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x691e49
push 0
push dword [esp + 0x3c]
mov ecx, eax
push esi
push dword [esp + 0x5c]
call fcn.0041048d
mov esi, eax
jmp 0x691e4b
cmp dword [esp + 0xc2c], 2
jne 0x692704
push dword [edi + 0xe8]
call fcn.0040863e
add esp, 4
mov ecx, edi
push eax
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
push 0
push eax
call fcn.00680500
mov dword [esp + 0x38], eax
test eax, eax
je 0x6926e7
mov ecx, dword [esp + 0xc28]
push dword [ecx + 8]
mov ecx, edi
call fcn.0067c4e0
mov esi, eax
test esi, esi
je 0x6926ca
push 2
push 0x24
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x691e49
push 0
push esi
push dword [esp + 0x40]
mov ecx, eax
call fcn.0040c950
mov esi, eax
jmp 0x691e4b
cmp dword [esp + 0xc2c], 2
jb 0x692889
push dword [edi + 0xe8]
call fcn.0040863e
add esp, 4
mov ecx, edi
push eax
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
push 0
push eax
call fcn.00680500
mov ecx, dword [esp + 0xc28]
lea esi, [esp + 0xe7c]
mov dword [esp + 0x50], eax
mov eax, 2
mov dword [esp + 0x1c], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0xe70], esi
xor esi, esi
mov dword [esp + 0x28], edx
mov dword [esp + 0xe74], 0
mov dword [esp + 0xe78], eax
test edx, edx
je 0x68f59d
nop word [eax + eax]
push dword [ecx + eax*8]
mov ecx, edi
call fcn.0067c4e0
inc dword [esp + 0x1c]
mov dword [esp + 0x38], eax
test eax, eax
je 0x692721
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xe74]
call fcn.004016db
mov ecx, dword [esp + 0xc28]
inc esi
mov eax, dword [esp + 0x1c]
cmp esi, dword [esp + 0x28]
jne 0x68f560
lea edx, [eax + 1]
xor esi, esi
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0xc2c]
cmp dword [esp + 0x40], edx
jne 0x68f5d2
push dword [ecx + eax*8]
mov ecx, edi
call fcn.0067c4e0
mov esi, eax
mov eax, dword [esp + 0x40]
test esi, esi
je 0x6927f5
mov edx, dword [esp + 0xc2c]
cmp edx, eax
jne 0x69286f
push 0x9236bc
lea ecx, [esp + 0xb84]
call fcn.00415f82
push 0
lea eax, [esp + 0xb84]
push eax
push dword [esp + 0x30]
push esi
push dword [esp + 0x60]
call fcn.0040e34a
mov ecx, dword [esp + 0xe84]
mov esi, eax
mov eax, dword [esp + 0xe88]
add esp, 0x14
lea eax, [ecx + eax*4]
mov dword [esp + 0x50], eax
cmp ecx, eax
je 0x68f639
mov edi, ecx
push dword [edi]
mov ecx, esi
call fcn.00403b16
add edi, 4
cmp edi, dword [esp + 0x50]
jne 0x68f623
mov edi, dword [esp + 0x5c]
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
lea ecx, [esp + 0xe70]
call fcn.0040ce55
jmp 0x691e5f
cmp dword [esp + 0xc2c], 2
jb 0x6928fc
push dword [edi + 0xe8]
call fcn.0040863e
add esp, 4
mov ecx, edi
push eax
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
push 0
push eax
call fcn.00680500
mov ecx, dword [esp + 0xc28]
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], 2
mov eax, dword [ecx + 8]
lea ecx, [esp + 0xe84]
mov dword [esp + 0x40], eax
call fcn.004147a9
xor esi, esi
cmp dword [esp + 0x40], esi
je 0x68f705
nop
push 0
lea eax, [esp + 0x1b4]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x6928ab
lea eax, [esp + 0x1b0]
push eax
lea ecx, [esp + 0xe88]
call fcn.0040e610
inc esi
cmp esi, dword [esp + 0x40]
jne 0x68f6c0
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0xc2c], eax
jne 0x6928e2
cmp dword [esp + 0x38], 0x33
push 0x9236bc
jne 0x68f75b
lea ecx, [esp + 0x410]
call fcn.00415f82
push 0
lea eax, [esp + 0x410]
push eax
mov eax, dword [esp + 0xe8c]
sub esp, 8
mov ecx, esp
push dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [esp + 0xe9c]
mov dword [ecx + 4], eax
call fcn.004051ff
jmp 0x68f792
lea ecx, [esp + 0x41c]
call fcn.00415f82
push 0
lea eax, [esp + 0x41c]
push eax
mov eax, dword [esp + 0xe8c]
sub esp, 8
mov ecx, esp
push dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [esp + 0xe9c]
mov dword [ecx + 4], eax
call fcn.00406456
add esp, 0x14
lea ecx, [edi + 0x184]
mov esi, eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
call fcn.00401267
lea ecx, [esp + 0xe84]
call fcn.0040bd0c
jmp 0x691e5f
mov ecx, dword [esp + 0xc28]
mov eax, dword [ecx]
and eax, 0xffff0000
cmp eax, 0x4b50000
jne 0x68fad0
cmp dword [ecx + 4], 0
jne 0x68fad0
push dword [ecx + 8]
mov ecx, edi
call fcn.0067e3c0
push eax
push dword [esp + 0x48]
mov ecx, dword [eax + 4]
lea eax, [esp + 0xc30]
shr ecx, 8
push 2
mov dword [esp + 0x28], ecx
mov ecx, edi
push eax
call fcn.00680500
mov esi, eax
mov ecx, edi
mov eax, dword [esp + 0xc28]
push dword [eax + 0x18]
call fcn.0067c4e0
test esi, esi
je 0x692927
test eax, eax
je 0x692927
mov ecx, dword [esp + 0xc28]
push 0
mov ecx, dword [ecx + 0x20]
push ecx
push eax
push esi
mov dword [esp + 0x4c], ecx
call fcn.0040d157
add esp, 0x10
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], eax
lea ecx, [edi + 0x184]
lea eax, [esp + 0x38]
push eax
call fcn.00401267
cmp dword [esp + 0x3c], 0
mov esi, 5
je 0x68fac7
nop
lea ecx, [esp + 0xe98]
call fcn.0040aac4
mov edx, dword [esp + 0xc28]
mov eax, dword [edx + esi*8]
inc esi
mov dword [esp + 0x50], eax
test eax, eax
je 0x68fa60
mov ecx, dword [edx + esi*8]
mov eax, dword [edx + esi*8 + 4]
inc esi
or ecx, eax
mov byte [esp + 0x4f], 1
jne 0x68f8a9
mov byte [esp + 0x4f], 0
cmp dword [esp + 0x1c], 0x40
xorps xmm0, xmm0
mov ecx, 1
mov dword [esp + 0x168], 1
movlpd qword [esp + 0x160], xmm0
mov dword [esp + 0x40], ecx
jbe 0x68f8d8
mov ecx, dword [edx + esi*8]
inc esi
mov dword [esp + 0x40], ecx
lea eax, [edx + esi*8]
push ecx
push eax
lea eax, [esp + 0xb94]
push eax
call fcn.0040f4e3
push dword [esp + 0x28]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x410]
push eax
call fcn.004118ec
add esp, 0x1c
lea ecx, [esp + 0x160]
push eax
call fcn.0040afbf
cmp dword [esp + 0x400], 0x40
jbe 0x68f929
push dword [esp + 0x3f8]
call fcn.0040dae4
add esp, 4
add esi, dword [esp + 0x40]
cmp byte [esp + 0x4f], 0
jne 0x68fa0a
cmp dword [esp + 0x1c], 0x40
mov eax, 1
mov ecx, dword [esp + 0xc28]
mov dword [esp + 0x40], eax
jbe 0x68f957
mov eax, dword [ecx + esi*8]
inc esi
mov dword [esp + 0x40], eax
push eax
lea eax, [ecx + esi*8]
push eax
lea eax, [esp + 0xb9c]
push eax
call fcn.0040f4e3
push dword [esp + 0x28]
push dword [eax + 4]
push dword [eax]
lea eax, [esp + 0x320]
push eax
call fcn.004118ec
add esi, dword [esp + 0x5c]
lea eax, [esp + 0x324]
add esp, 0x1c
lea ecx, [esp + 0x160]
push eax
call fcn.004071f3
test al, al
je 0x68f9ef
nop
lea eax, [esp + 0x160]
push eax
push dword [edi + 0xe8]
call fcn.004111c6
add esp, 8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
lea ecx, [esp + 0xe98]
push eax
call fcn.0041070d
lea ecx, [esp + 0x160]
call fcn.0040cdf6
lea eax, [esp + 0x308]
push eax
lea ecx, [esp + 0x164]
call fcn.004071f3
test al, al
jne 0x68f9a0
cmp dword [esp + 0x310], 0x40
jbe 0x68fa35
push dword [esp + 0x308]
call fcn.0040dae4
add esp, 4
jmp 0x68fa35
lea eax, [esp + 0x160]
push eax
push dword [edi + 0xe8]
call fcn.004111c6
add esp, 8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
lea ecx, [esp + 0xe98]
push eax
call fcn.0041070d
cmp dword [esp + 0x168], 0x40
jbe 0x68fa4e
push dword [esp + 0x160]
call fcn.0040dae4
add esp, 4
sub dword [esp + 0x50], 1
mov edx, dword [esp + 0xc28]
jne 0x68f893
push dword [edx + esi*8]
mov ecx, edi
call fcn.0067c4e0
mov edx, dword [esp + 0xe98]
inc esi
mov ecx, dword [esp + 0xe9c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], esi
lea eax, [edx + ecx*4]
mov dword [esp + 0x40], eax
cmp edx, eax
je 0x68fab0
mov esi, dword [esp + 0x28]
mov edi, edx
push dword [esp + 0x50]
mov ecx, esi
push dword [edi]
call fcn.004065f5
add edi, 4
cmp edi, dword [esp + 0x40]
jne 0x68fa92
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
lea ecx, [esp + 0xe98]
call fcn.00407abd
sub dword [esp + 0x3c], 1
jne 0x68f870
mov esi, dword [esp + 0x28]
jmp 0x691e5f
mov eax, dword [esp + 0xc2c]
cmp eax, 3
jb 0x6929b5
test al, 1
je 0x6929b5
push dword [ecx]
mov ecx, edi
call fcn.0067e3c0
mov esi, eax
mov ecx, edi
push esi
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
mov dword [esp + 0x40], esi
push 1
push eax
call fcn.00680500
mov ecx, dword [esp + 0xc28]
mov dword [esp + 0x58], eax
push dword [ecx + 0x10]
mov ecx, edi
call fcn.0067c4e0
mov edx, eax
test esi, esi
je 0x69298a
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x69298a
test edx, edx
je 0x69298a
mov eax, dword [esp + 0xc2c]
add eax, 0xfffffffd
shr eax, 1
push 0
push eax
push edx
push ecx
mov dword [esp + 0x50], eax
call fcn.0040d157
add esp, 0x10
lea ecx, [edi + 0x184]
mov esi, eax
lea eax, [esp + 0x58]
mov dword [esp + 0x58], esi
push eax
call fcn.00401267
cmp dword [esp + 0x40], 0
mov dword [esp + 0x50], 0
je 0x691e5f
xor ecx, ecx
mov dword [esp + 0x1c], ecx
nop dword [eax]
mov eax, dword [esp + 0xc28]
push 0
push dword [esp + 0x3c]
push dword [eax + ecx + 0x18]
mov ecx, edi
call fcn.0067e360
push eax
call fcn.00404836
mov ecx, dword [esp + 0xc2c]
add esp, 4
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
push dword [ecx + edx + 0x20]
mov ecx, edi
call fcn.0067c4e0
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x692952
test eax, eax
je 0x692952
push eax
push ecx
mov ecx, esi
call fcn.004065f5
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
inc eax
add ecx, 0x10
mov dword [esp + 0x50], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [esp + 0x40]
jne 0x68fb90
jmp 0x691e5f
cmp dword [esp + 0xc2c], 2
jb 0x692a43
mov eax, dword [esp + 0xc28]
mov ecx, edi
push dword [eax]
call fcn.0067e3c0
mov esi, eax
mov ecx, edi
push esi
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
push 1
push eax
call fcn.00680500
mov edx, eax
test esi, esi
je 0x692a18
test edx, edx
je 0x692a18
mov eax, dword [esp + 0xc2c]
add eax, 0xfffffffe
push 0
push eax
push edx
mov dword [esp + 0x28], eax
call fcn.004125e9
add esp, 0xc
lea ecx, [edi + 0x184]
mov esi, eax
lea eax, [esp + 0x58]
mov dword [esp + 0x58], esi
push eax
call fcn.00401267
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x50], 0
je 0x691e5f
mov ecx, 0x10
mov dword [esp + 0x40], ecx
nop dword [eax + eax]
mov eax, dword [esp + 0xc28]
push dword [eax + ecx]
mov ecx, edi
call fcn.0067c4e0
test eax, eax
je 0x6929e0
push eax
mov ecx, esi
call fcn.00411bb7
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
inc eax
add ecx, 8
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], ecx
cmp eax, dword [esp + 0x1c]
jne 0x68fca0
jmp 0x691e5f
cmp dword [esp + 0xc2c], 4
jb 0x692ba2
mov esi, dword [esp + 0xc28]
lea eax, [esp + 0x1c4]
mov ecx, edi
push dword [esi]
push eax
call fcn.0067c490
mov eax, dword [esi + 8]
mov ecx, edi
push dword [esi + 0x10]
mov dword [esp + 0x54], eax
call fcn.0067c4e0
push dword [esi + 0x18]
mov ecx, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x2c], 4
call fcn.0067c4e0
xor esi, esi
mov dword [esp + 0x40], eax
test dword [esp + 0x50], 0x2000
mov dword [esp + 0x1c], esi
je 0x68fd6a
mov ecx, dword [esp + 0xc28]
mov dword [esp + 0x28], 5
push dword [ecx + 0x20]
mov ecx, edi
call fcn.0067e3c0
mov esi, eax
mov dword [esp + 0x1c], esi
cmp byte [esi + 4], 0xd
jne 0x692a6e
lea eax, [esp + 0x48]
mov ecx, edi
push eax
lea eax, [esp + 0x150]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692b77
mov eax, dword [esp + 0x14c]
mov eax, dword [eax]
cmp byte [eax + 4], 0xe
jne 0x692b4c
mov eax, dword [esp + 0x48]
test esi, esi
jne 0x68fdea
mov esi, dword [eax + 0x10]
mov dword [esp + 0x1c], esi
cmp byte [esi + 4], 0xd
je 0x68fdf3
push str.Callee_is_not_of_pointer_to_function_type
lea ecx, [esp + 0x7b8]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x7b4]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
cmp dword [eax + 0x10], esi
jne 0x692b21
mov eax, dword [esi + 8]
mov esi, dword [esp + 0x28]
dec eax
add eax, esi
cmp dword [esp + 0xc2c], eax
jb 0x692af6
lea ecx, [esp + 0xfd8]
call fcn.0040bb90
lea ecx, [esp + 0x1070]
call fcn.00409ead
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + 8]
sub edx, 1
mov dword [esp + 0x38], edx
je 0x68fec9
nop dword [eax]
mov eax, dword [eax + 0xc]
push dword [eax + ecx*4 + 4]
lea eax, [esp + 0xc2c]
mov ecx, edi
push dword [esp + 0x48]
push esi
push eax
call fcn.00680500
mov dword [esp + 0x58], eax
lea ecx, [esp + 0xfd8]
lea eax, [esp + 0x58]
push eax
call fcn.0040e610
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + ecx*4 + 4]
lea ecx, [esp + 0x1070]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x58]
push eax
call fcn.0040399a
mov ecx, dword [esp + 0xfdc]
mov eax, dword [esp + 0xfd8]
cmp dword [eax + ecx*4 - 4], 0
je 0x692a99
mov ecx, dword [esp + 0x3c]
inc esi
mov eax, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [esp + 0x38]
jne 0x68fe40
cmp dword [eax + 4], 0x100
jae 0x68fefc
cmp dword [esp + 0xc2c], esi
je 0x68ff6a
push str.Invalid_record
lea ecx, [esp + 0x7d0]
call fcn.00415f82
lea eax, [esp + 0x7cc]
jmp 0x692ab1
cmp esi, dword [esp + 0xc2c]
je 0x68ff6a
lea eax, [esp + 0x1bc]
mov ecx, edi
push eax
lea eax, [esp + 0x1bc]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692adc
lea eax, [esp + 0x1b8]
push eax
lea ecx, [esp + 0xfdc]
call fcn.0040e610
lea eax, [esp + 0x1bc]
push eax
lea ecx, [esp + 0x1074]
call fcn.0040399a
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0xc2c]
jne 0x68ff05
push 0x9236bc
lea ecx, [esp + 0x428]
call fcn.00415f82
push 0
lea eax, [esp + 0x428]
push eax
sub esp, 8
lea eax, [esp + 0x1c]
mov ecx, esp
push eax
call fcn.0040d125
mov eax, dword [esp + 0xfe8]
sub esp, 8
mov ecx, esp
push dword [esp + 0x58]
mov dword [ecx], eax
push dword [esp + 0x70]
mov eax, dword [esp + 0xffc]
push dword [esp + 0x16c]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x40]
push ecx
call fcn.00411e00
mov esi, eax
lea ecx, [esp + 0x34]
mov eax, dword [esp + 0x44]
add esp, 0x28
mov dword [esp + 0x3c], esi
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
call fcn.004108bb
lea eax, [esp + 0x3c]
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
mov eax, dword [esp + 0x50]
mov ecx, esi
and eax, 0x3ff
push eax
call fcn.0040a1cd
mov eax, dword [esp + 0x1c4]
sub esp, 8
mov ecx, esp
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x1078]
push esi
mov dword [ecx], eax
mov eax, dword [esp + 0x1080]
mov dword [ecx + 4], eax
mov ecx, edi
call fcn.0069dd60
lea ecx, [esp + 0x1070]
call fcn.004041d8
lea ecx, [esp + 0xfd8]
call fcn.0040e1e2
jmp 0x691e5f
push 0
lea eax, [esp + 0x54]
mov dword [esp + 0x58], 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x60]
mov dword [esp + 0x5c], 0
push eax
lea eax, [esp + 0xc38]
mov ecx, edi
push eax
call fcn.00680650
test al, al
jne 0x692bcd
push 0
push dword [esp + 0x54]
call fcn.0040c4a5
add esp, 8
mov esi, eax
jmp 0x691e4b
mov esi, dword [esp + 0xc28]
lea eax, [esp + 0x1cc]
mov ecx, edi
push dword [esi]
push eax
call fcn.0067c490
mov eax, dword [esi + 8]
mov ecx, edi
push dword [esi + 0x10]
mov dword [esp + 0x44], eax
call fcn.0067c4e0
mov dword [esp + 0x38], eax
lea ecx, [esp + 0xef4]
mov eax, dword [esp + 0xc28]
mov esi, 4
mov dword [esp + 0x1c], esi
mov eax, dword [eax + 0x18]
mov dword [esp + 0x28], eax
call fcn.0040b63b
cmp dword [esp + 0x28], 0
mov ecx, esi
je 0x69012d
mov ecx, dword [esp + 0xc28]
lea eax, [esi]
lea esi, [eax + 1]
mov dword [esp + 0x1c], esi
push dword [ecx + eax*8]
mov ecx, edi
call fcn.0067c4e0
mov dword [esp + 0x54], eax
lea ecx, [esp + 0xef4]
lea eax, [esp + 0x54]
push eax
call fcn.004016db
sub dword [esp + 0x28], 1
jne 0x6900f1
mov dword [esp + 0x54], esi
mov ecx, esi
xor esi, esi
test dword [esp + 0x40], 0x8000
mov dword [esp + 0x28], esi
je 0x690165
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc28]
push dword [eax + ecx*8]
mov ecx, edi
call fcn.0067e3c0
mov esi, eax
mov dword [esp + 0x28], esi
cmp byte [esi + 4], 0xd
jne 0x692bf8
lea eax, [esp + 0x48]
mov ecx, edi
push eax
lea eax, [esp + 0x154]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692ce3
mov eax, dword [esp + 0x150]
mov eax, dword [eax]
cmp byte [eax + 4], 0xe
jne 0x692cc6
mov eax, dword [esp + 0x48]
test esi, esi
jne 0x6901d7
mov esi, dword [eax + 0x10]
mov dword [esp + 0x28], esi
cmp byte [esi + 4], 0xd
je 0x6901e0
push str.Callee_is_not_of_pointer_to_function_type
lea ecx, [esp + 0x83c]
call fcn.00415f82
lea eax, [esp + 0x838]
jmp 0x692c10
cmp dword [eax + 0x10], esi
jne 0x692ca9
mov eax, dword [esi + 8]
mov esi, dword [esp + 0x1c]
dec eax
add eax, esi
cmp dword [esp + 0xc2c], eax
jb 0x692c8c
lea ecx, [esp + 0xf8c]
call fcn.0040bb90
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 8]
sub edx, 1
mov dword [esp + 0x58], edx
je 0x690299
nop dword [eax]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, edi
cmp byte [eax + 4], 8
jne 0x690240
mov eax, dword [esp + 0xc28]
push dword [eax + esi*8]
call fcn.0067c4e0
jmp 0x690253
push eax
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
push esi
push eax
call fcn.00680500
mov dword [esp + 0x54], eax
lea ecx, [esp + 0xf8c]
lea eax, [esp + 0x54]
push eax
call fcn.0040e610
mov ecx, dword [esp + 0xf90]
mov eax, dword [esp + 0xf8c]
cmp dword [eax + ecx*4 - 4], 0
je 0x692c2f
mov ecx, dword [esp + 0x50]
inc esi
mov eax, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [esp + 0x58]
jne 0x690220
cmp dword [eax + 4], 0x100
jae 0x6902c8
cmp esi, dword [esp + 0xc2c]
je 0x69031c
push str.Invalid_record
lea ecx, [esp + 0x854]
call fcn.00415f82
lea eax, [esp + 0x850]
jmp 0x692c47
cmp esi, dword [esp + 0xc2c]
je 0x69031c
push 0
lea eax, [esp + 0x1cc]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692c72
lea eax, [esp + 0x1c8]
push eax
lea ecx, [esp + 0xf90]
call fcn.0040e610
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0xc2c]
jne 0x6902d1
push 0x9236bc
lea ecx, [esp + 0x434]
call fcn.00415f82
push 0
lea eax, [esp + 0x434]
push eax
sub esp, 8
lea eax, [esp + 0x1c]
mov ecx, esp
push eax
call fcn.0040d125
mov eax, dword [esp + 0xf9c]
sub esp, 8
mov ecx, esp
sub esp, 8
mov dword [ecx], eax
mov eax, dword [esp + 0xfb0]
mov dword [ecx + 4], eax
mov ecx, esp
push dword [esp + 0x58]
mov eax, dword [esp + 0xf18]
push dword [esp + 0x174]
mov dword [ecx], eax
mov eax, dword [esp + 0xf20]
push dword [esp + 0x50]
mov dword [ecx + 4], eax
call fcn.00413c9b
mov esi, eax
lea ecx, [esp + 0x38]
mov eax, dword [esp + 0x54]
add esp, 0x2c
mov dword [esp + 0x3c], esi
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
call fcn.004108bb
lea eax, [esp + 0x3c]
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
mov eax, dword [esp + 0x40]
mov ecx, esi
shr eax, 1
and eax, 0x3ff
push eax
call fcn.0040a1cd
mov eax, dword [esp + 0x1cc]
lea ecx, [esp + 0xf8c]
mov dword [esi + 0x24], eax
call fcn.0040e1e2
lea ecx, [esp + 0xef4]
call fcn.004108d9
jmp 0x691e5f
push 0
push 0x24
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x691e49
push 0
push dword [edi + 0xe8]
mov ecx, eax
call fcn.00408468
mov esi, eax
jmp 0x691e4b
cmp dword [esp + 0xc2c], 1
jb 0x692d81
mov eax, dword [esp + 0xc28]
mov ecx, edi
push dword [eax]
call fcn.0067e3c0
mov esi, eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x48], esi
test esi, esi
je 0x692d56
mov eax, dword [esp + 0xc2c]
lea ecx, [esp + 0x43c]
push 0x9236bc
lea eax, [eax - 1]
shr eax, 1
mov dword [esp + 0x2c], eax
call fcn.00415f82
push 0
lea eax, [esp + 0x440]
push eax
push dword [esp + 0x30]
push esi
call fcn.0040b47e
mov esi, eax
add esp, 0x10
mov eax, dword [esp + 0xc2c]
dec eax
test al, 1
je 0x6904a4
push esi
call fcn.00413570
add esp, 4
test al, al
je 0x692d00
lea eax, [esp + 0x54]
mov dword [esp + 0x54], esi
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
cmp dword [esp + 0x28], 0
mov dword [esp + 0x3c], 0
je 0x690560
mov eax, 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x38], eax
nop dword [eax]
cmp byte [edi + 0x35c], 0
mov ecx, edi
push dword [esp + 0x50]
push dword [esp + 0x48]
push eax
lea eax, [esp + 0xc34]
push eax
je 0x690503
call fcn.006805b0
jmp 0x690508
call fcn.00680500
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc28]
push dword [eax + ecx + 0x10]
mov ecx, edi
call fcn.0067c4e0
mov ecx, eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x692d2b
test ecx, ecx
je 0x692d2b
push ecx
push eax
mov ecx, esi
call fcn.0040eabb
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
inc ecx
add dword [esp + 0x1c], 0x10
add eax, 2
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
cmp ecx, dword [esp + 0x28]
jne 0x6904e0
mov ecx, dword [esp + 0xc2c]
test cl, 1
jne 0x691e5f
mov eax, dword [esp + 0xc28]
push dword [eax + ecx*8 - 8]
lea eax, [esp + 0x1d4]
push eax
call fcn.0067da00
mov eax, dword [esp + 0x1d8]
jmp 0x68e0c7
cmp esi, 0x2f
jne 0x6905ce
cmp dword [esp + 0xc2c], 3
jae 0x6905dc
push str.Invalid_record
lea ecx, [esp + 0x8cc]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x8c8]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
cmp dword [esp + 0xc2c], 4
jb 0x692e65
mov eax, dword [esp + 0xc28]
mov ecx, edi
mov dword [esp + 0x1c], 1
push dword [eax]
call fcn.0067e3c0
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], eax
test eax, eax
je 0x692e3a
cmp esi, 0x28
jne 0x690660
push 0
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692dd7
mov ecx, dword [esp + 0x68]
mov al, byte [ecx + 0xa]
shr al, 3
test al, 1
jne 0x690651
push dword [esp + 0x28]
call fcn.00402225
jmp 0x690660
call fcn.0040311b
cmp eax, dword [esp + 0x28]
jne 0x692dac
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0xc28]
mov byte [esp + 0x158], 1
mov eax, dword [esi + ecx*8]
or eax, dword [esi + ecx*8 + 4]
jne 0x690684
mov byte [esp + 0x158], 0
mov esi, dword [esi + ecx*8 + 8]
lea eax, [ecx + 2]
push 0x9236bc
lea ecx, [esp + 0x44c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], esi
call fcn.00415f82
push 0
lea eax, [esp + 0x44c]
push eax
push esi
push dword [esp + 0x60]
call fcn.00408d46
add esp, 0x10
mov esi, eax
mov ecx, esi
push dword [esp + 0x158]
call fcn.00407865
cmp dword [esp + 0x50], 0
mov dword [esp + 0x38], 0
je 0x691e4b
mov eax, dword [esp + 0x58]
inc eax
mov ecx, edi
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1d4]
push 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692e02
push dword [esp + 0x1d4]
mov ecx, esi
call fcn.004038dc
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
cmp eax, dword [esp + 0x50]
je 0x691e4b
mov eax, dword [esp + 0x1c]
jmp 0x6906e2
cmp dword [esp + 0xc2c], 4
jne 0x692f38
mov ecx, dword [esp + 0xc28]
mov byte [esp + 0x15c], 1
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x54], eax
mov eax, esi
and eax, 0x20
or eax, 0
jne 0x690771
mov byte [esp + 0x15c], 0
mov eax, esi
mov byte [esp + 0x114], 1
and eax, 0x80
or eax, 0
jne 0x69078d
mov byte [esp + 0x114], 0
push dword [ecx]
mov ecx, edi
call fcn.0067e3c0
mov ecx, esi
mov dword [esp + 0x48], eax
and ecx, 0x40
mov dword [esp + 0xac], eax
or ecx, 0
jne 0x6907fe
push eax
call fcn.00404b92
add esp, 4
test eax, eax
je 0x692e90
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x25c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x25c], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x260], eax
lea eax, [esp + 0x28c]
push eax
call fcn.004149a2
mov eax, dword [esp + 0xc28]
mov ecx, edi
push dword [eax + 8]
call fcn.0067e3c0
push 0
push eax
mov eax, dword [esp + 0xc30]
mov ecx, edi
push dword [eax + 0x10]
call fcn.0067e360
mov dword [esp + 0x38], eax
and esi, 0xffffff1f
lea eax, [esp + 0x8c]
mov word [esp + 0x8c], 0
push eax
push dword [esp + 0x58]
lea eax, [esp + 0xc4]
mov ecx, edi
push esi
push eax
call fcn.00684270
mov eax, dword [esp + 0xbc]
lea ecx, [esp + 0xbc]
test eax, eax
jne 0x692f1d
call fcn.0040cbc6
cmp dword [esp + 0xac], 0
je 0x692ef2
cmp dword [esp + 0x38], 0
je 0x692ef2
mov ecx, dword [edi + 0xec]
call fcn.00408fc6
mov esi, eax
lea ecx, [esp + 0xb9c]
mov eax, dword [esi + 4]
mov dword [esp + 0x50], eax
call fcn.0040162c
cmp byte [esp + 0x8d], 0
jne 0x69090e
mov ecx, dword [esp + 0xac]
lea eax, [esp + 0xb9c]
push eax
call fcn.00404264
test al, al
je 0x692ebb
cmp byte [esp + 0x8d], 0
jne 0x69090e
push dword [esp + 0xac]
lea eax, [esp + 0x111]
mov ecx, esi
push eax
call fcn.00401e3d
mov byte [esp + 0x9f], 1
mov al, byte [eax]
mov byte [esp + 0x9e], al
mov ax, word [esp + 0x9e]
mov word [esp + 0x8c], ax
push 1
push 0x28
call fcn.00413ef8
mov esi, eax
add esp, 8
test esi, esi
je 0x69095c
push 0x9236bc
lea ecx, [esp + 0x458]
call fcn.00415f82
push 0
lea eax, [esp + 0x458]
mov ecx, esi
push eax
push dword [esp + 0x94]
push dword [esp + 0x44]
push dword [esp + 0x60]
push dword [esp + 0xc0]
call fcn.00407563
mov esi, eax
jmp 0x69095e
xor esi, esi
push dword [esp + 0x15c]
mov ecx, esi
call fcn.00407d38
push dword [esp + 0x114]
mov ecx, esi
call fcn.00415ea6
push dword [esp + 0x50]
mov dword [esp + 0x40], esi
push dword [esp + 0x4c]
call fcn.00414b1e
add esp, 8
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
lea ecx, [edi + 0x184]
push eax
call fcn.00401267
lea ecx, [esp + 0xb9c]
call fcn.0040d49f
jmp 0x691e5f
lea eax, [esp + 0x48]
mov dword [esp + 0x38], 0
push eax
lea eax, [esp + 0x78]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x692ffb
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0xc2c]
lea eax, [esi + 2]
cmp eax, ecx
je 0x690a02
lea eax, [esi + 3]
cmp eax, ecx
jne 0x692ffb
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
cmp byte [eax + 4], 0xe
jne 0x692fd0
lea eax, [esi + 3]
mov dword [esp + 0x88], 0
cmp eax, ecx
jne 0x690a47
mov eax, dword [esp + 0xc28]
mov ecx, esi
push dword [eax + ecx*8]
lea esi, [ecx + 1]
mov ecx, edi
call fcn.0067e3c0
mov dword [esp + 0x48], eax
mov dword [esp + 0x88], eax
jmp 0x690a90
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x26c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x264], eax
mov dword [esp + 0x268], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x26c], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x270], eax
lea eax, [esp + 0x264]
push eax
call fcn.004149a2
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x74]
push dword [ecx]
mov ecx, edi
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.006a2620
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0xc4]
test eax, eax
jne 0x692fb5
call fcn.0040cbc6
lea eax, [esp + 0x90]
mov word [esp + 0x90], 0
push eax
mov eax, dword [esp + 0xc2c]
mov ecx, edi
push dword [eax + esi*8 + 4]
push dword [eax + esi*8]
lea eax, [esp + 0xcc]
push eax
call fcn.00684270
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
test eax, eax
jne 0x692f9a
call fcn.0040cbc6
lea ecx, [esp + 0xbc0]
call fcn.0040162c
cmp byte [esp + 0x91], 0
jne 0x690b89
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0xbc0]
push eax
call fcn.00404264
test al, al
je 0x692f63
cmp byte [esp + 0x91], 0
jne 0x690b89
push dword [esp + 0x88]
mov ecx, dword [edi + 0xec]
lea eax, [esp + 0x112]
push eax
call fcn.00408fc6
mov ecx, eax
call fcn.004108ac
mov byte [esp + 0xa1], 1
mov al, byte [eax]
mov byte [esp + 0xa0], al
mov ax, word [esp + 0xa0]
mov word [esp + 0x90], ax
push 1
push 0x28
call fcn.00413ef8
add esp, 8
mov dword [esp + 0x54], eax
test eax, eax
je 0x690c02
mov ecx, dword [esp + 0xc28]
mov byte [esp + 0x118], 1
mov edx, dword [ecx + esi*8 + 8]
or edx, dword [ecx + esi*8 + 0xc]
jne 0x690bbe
mov byte [esp + 0x118], 0
push 0x9236bc
lea ecx, [esp + 0x464]
call fcn.00415f82
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x460]
push 0
push dword [esp + 0x94]
push dword [esp + 0x120]
push eax
push dword [esp + 0x84]
push dword [esp + 0x9c]
call fcn.0040eed5
mov esi, eax
jmp 0x690c04
xor esi, esi
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
lea ecx, [esp + 0xbc0]
call fcn.0040d49f
jmp 0x691e5f
lea eax, [esp + 0x48]
mov dword [esp + 0x38], 0
push eax
lea eax, [esp + 0x9c]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x693108
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0xc2c]
lea eax, [esi + 4]
cmp eax, ecx
je 0x690c7b
lea eax, [esi + 5]
cmp eax, ecx
jne 0x693108
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
cmp byte [eax + 4], 0xe
jne 0x6930dd
lea eax, [esi + 5]
mov dword [esp + 0xe4], 0
cmp eax, ecx
jne 0x690cc3
mov eax, dword [esp + 0xc28]
mov ecx, esi
push dword [eax + ecx*8]
lea esi, [ecx + 1]
mov ecx, edi
call fcn.0067e3c0
mov dword [esp + 0x48], eax
mov dword [esp + 0xe4], eax
jmp 0x690d0c
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x27c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x27c], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x280], eax
lea eax, [esp + 0x274]
push eax
call fcn.004149a2
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x98]
push dword [ecx]
mov ecx, edi
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.006a2620
mov eax, dword [esp + 0xcc]
lea ecx, [esp + 0xcc]
test eax, eax
jne 0x6930c2
call fcn.0040cbc6
mov ecx, dword [esp + 0xc28]
push dword [ecx + esi*8 + 0x10]
call fcn.0067dcd0
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
je 0x693097
cmp eax, 5
je 0x693097
cmp eax, 6
je 0x693097
mov eax, dword [ecx + esi*8]
or eax, dword [ecx + esi*8 + 4]
je 0x69306c
push dword [ecx + esi*8 + 0x18]
mov ecx, edi
call fcn.0067de00
mov byte [esp + 0x1d8], al
lea eax, [esp + 0xe8]
push eax
mov eax, dword [esp + 0xc2c]
mov word [esp + 0xec], 0
push dword [eax + esi*8 + 4]
push dword [eax + esi*8]
lea eax, [esp + 0xd4]
push eax
call fcn.00684270
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0xc8]
test eax, eax
jne 0x693051
call fcn.0040cbc6
cmp byte [esp + 0xe9], 0
je 0x693026
push 1
push 0x28
call fcn.00413ef8
add esp, 8
mov dword [esp + 0x58], eax
test eax, eax
je 0x691e49
mov ecx, dword [esp + 0xc28]
mov byte [esp + 0x11c], 1
mov edx, dword [ecx + esi*8 + 8]
or edx, dword [ecx + esi*8 + 0xc]
jne 0x690e1f
mov byte [esp + 0x11c], 0
push 0x9236bc
lea ecx, [esp + 0x470]
call fcn.00415f82
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0x46c]
push 0
push dword [esp + 0x1dc]
push dword [esp + 0x5c]
push dword [esp + 0xf4]
push dword [esp + 0x12c]
push eax
push dword [esp + 0xb0]
push dword [esp + 0x100]
call fcn.0040dd64
mov esi, eax
jmp 0x691e4b
lea eax, [esp + 0x1dc]
mov dword [esp + 0x1c], 0
push eax
lea eax, [esp + 0xe0]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x6931a0
lea eax, [esp + 0x120]
mov ecx, edi
cmp esi, 0x2c
jne 0x690ed2
push 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
jmp 0x690ef3
push eax
mov eax, dword [esp + 0x1e0]
push dword [eax + 0x10]
lea eax, [esp + 0x24]
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x6931a0
mov eax, dword [esp + 0x1c]
add eax, 2
cmp eax, dword [esp + 0xc2c]
jne 0x6931a0
mov eax, dword [esp + 0xdc]
mov ecx, edi
mov esi, dword [esp + 0x120]
push dword [eax]
lea eax, [esp + 0xd8]
push dword [esi]
push eax
call fcn.006a2620
mov eax, dword [esp + 0xd4]
lea ecx, [esp + 0xd4]
test eax, eax
jne 0x693185
call fcn.0040cbc6
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x84]
push eax
mov eax, dword [esp + 0xc2c]
mov word [esp + 0x88], 0
push dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
lea eax, [esp + 0xdc]
mov ecx, edi
push eax
call fcn.00684270
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd0]
test eax, eax
jne 0x69316a
call fcn.0040cbc6
lea ecx, [esp + 0xbe4]
call fcn.0040162c
cmp byte [esp + 0x85], 0
jne 0x69100d
mov ecx, dword [esi]
lea eax, [esp + 0xbe4]
push eax
call fcn.00404264
test al, al
je 0x693133
cmp byte [esp + 0x85], 0
jne 0x69100d
push dword [esi]
mov ecx, dword [edi + 0xec]
lea eax, [esp + 0x113]
push eax
call fcn.00408fc6
mov ecx, eax
call fcn.004108ac
mov byte [esp + 0xa3], 1
mov al, byte [eax]
mov byte [esp + 0xa2], al
mov ax, word [esp + 0xa2]
mov word [esp + 0x84], ax
push 2
push 0x28
call fcn.00413ef8
add esp, 8
mov dword [esp + 0x54], eax
test eax, eax
je 0x69105b
mov ecx, dword [esp + 0xc28]
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx + eax*8 + 8]
or edx, dword [ecx + eax*8 + 0xc]
je 0x69103a
mov al, 1
jmp 0x69103c
xor al, al
mov ecx, dword [esp + 0x54]
push 0
push dword [esp + 0x88]
push eax
push dword [esp + 0xe8]
push esi
call fcn.0040e34f
mov esi, eax
jmp 0x69105d
xor esi, esi
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], esi
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
lea ecx, [esp + 0xbe4]
call fcn.0040d49f
jmp 0x691e5f
lea eax, [esp + 0x1e0]
mov dword [esp + 0x1c], 0
push eax
lea eax, [esp + 0x7c]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x693282
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
cmp byte [eax + 4], 0xe
jne 0x693282
lea eax, [esp + 0x94]
mov ecx, edi
cmp esi, 0x2d
jne 0x6910f0
push 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
jmp 0x691111
push eax
mov eax, dword [esp + 0x1e4]
push dword [eax + 0x10]
lea eax, [esp + 0x24]
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x693282
mov esi, dword [esp + 0x1c]
lea eax, [esi + 4]
cmp eax, dword [esp + 0xc2c]
jne 0x693282
mov eax, dword [esp + 0x78]
mov ecx, edi
push dword [eax]
mov eax, dword [esp + 0x98]
push dword [eax]
lea eax, [esp + 0xfc]
push eax
call fcn.006a2620
mov eax, dword [esp + 0xf4]
lea ecx, [esp + 0xf4]
test eax, eax
jne 0x693267
call fcn.0040cbc6
mov ecx, dword [esp + 0xc28]
push dword [ecx + esi*8 + 0x10]
call fcn.0067dcd0
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
je 0x69323c
cmp eax, 4
je 0x69323c
cmp eax, 6
je 0x69323c
push dword [ecx + esi*8 + 0x18]
mov ecx, edi
call fcn.0067de00
mov ecx, dword [esp + 0xc28]
mov byte [esp + 0x1e4], al
mov eax, dword [ecx + esi*8]
or eax, dword [ecx + esi*8 + 4]
je 0x693211
lea eax, [esp + 0xb8]
mov word [esp + 0xb8], 0
push eax
push dword [ecx + esi*8 + 4]
lea eax, [esp + 0xe0]
push dword [ecx + esi*8]
mov ecx, edi
push eax
call fcn.00684270
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xd8]
test eax, eax
jne 0x6931f6
call fcn.0040cbc6
cmp byte [esp + 0xb9], 0
je 0x6931cb
push 2
push 0x28
call fcn.00413ef8
add esp, 8
mov dword [esp + 0x58], eax
test eax, eax
je 0x691e49
mov ecx, dword [esp + 0xc28]
mov edx, dword [ecx + esi*8 + 8]
or edx, dword [ecx + esi*8 + 0xc]
je 0x69123b
mov al, 1
jmp 0x69123d
xor al, al
mov ecx, dword [esp + 0x58]
push 0
push dword [esp + 0x1e8]
push dword [esp + 0x5c]
push dword [esp + 0xc4]
push eax
push dword [esp + 0x8c]
push dword [esp + 0xac]
call fcn.00403558
mov esi, eax
jmp 0x691e4b
lea eax, [esp + 0x48]
mov dword [esp + 0x1c], 0
push eax
lea eax, [esp + 0x80]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x693374
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
cmp byte [eax + 4], 0xe
jne 0x693349
mov ecx, edi
cmp esi, 0x2e
jne 0x69130e
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0xac]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
je 0x691346
push str.Invalid_record
lea ecx, [esp + 0x9ec]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x9e8]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x4c]
push dword [eax + 0x10]
lea eax, [esp + 0x24]
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x69331e
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x1f0]
mov ecx, edi
push eax
mov eax, dword [esp + 0xac]
push dword [eax]
lea eax, [esp + 0x24]
push dword [esp + 0x4c]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x6932f3
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc2c]
lea eax, [ecx + 3]
mov dword [esp + 0x54], eax
cmp edx, eax
jb 0x6932f3
lea eax, [ecx + 5]
cmp edx, eax
ja 0x6932f3
mov edx, dword [esp + 0xc28]
lea eax, [ecx*8]
mov dword [esp + 0x58], eax
push dword [eax + edx + 8]
call fcn.0067dcd0
mov esi, eax
add esp, 4
test esi, esi
je 0x6932c8
cmp esi, 1
je 0x6932c8
push dword [edx + ecx*8 + 0x10]
mov ecx, edi
call fcn.0067de00
mov byte [esp + 0x1e8], al
mov eax, dword [esp + 0x7c]
push dword [eax]
mov eax, dword [esp + 0xac]
push dword [eax]
lea eax, [esp + 0xb8]
push eax
call fcn.006a2620
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0xb0]
test eax, eax
jne 0x6932ad
call fcn.0040cbc6
cmp dword [esp + 0xc2c], 7
jae 0x691428
push esi
call fcn.00404935
jmp 0x69143b
mov eax, dword [esp + 0xc28]
mov ecx, dword [esp + 0x54]
push dword [eax + ecx*8]
call fcn.0067dcd0
mov ecx, dword [edi + 0xec]
add esp, 4
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa8]
push dword [eax]
lea eax, [esp + 0xc0c]
push eax
call fcn.00408fc6
mov ecx, eax
call fcn.004123be
mov ecx, eax
call fcn.004082bf
push edx
push eax
lea ecx, [esp + 0x1f4]
call fcn.00407667
push 3
push 0x28
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x6914bf
push 0
push dword [esp + 0x1ec]
mov ecx, eax
push dword [esp + 0x40]
push esi
push dword [esp + 0x1fc]
push dword [esp + 0x204]
push dword [esp + 0xc0]
push dword [esp + 0x98]
call fcn.0040dc6a
mov esi, eax
jmp 0x6914c1
xor esi, esi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x22c], eax
push dword [edi + 0xe8]
mov dword [esp + 0x40], esi
call fcn.00404ce1
add esp, 4
mov dword [esp + 0x230], eax
lea eax, [esp + 0x22c]
mov dword [esp + 0x284], eax
lea eax, [esp + 0x234]
mov dword [esp + 0x288], eax
lea eax, [esp + 0x284]
push 0
sub esp, 8
mov ecx, esp
push eax
call fcn.00406d75
push dword [edi + 0xe8]
call fcn.004046d8
mov edx, dword [esp + 0x68]
add esp, 0x10
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xc28]
mov ecx, dword [edx + eax]
or ecx, dword [edx + eax + 4]
je 0x69153f
mov al, 1
jmp 0x691541
xor al, al
push eax
mov ecx, esi
call fcn.004062ee
cmp dword [esp + 0xc2c], 8
jae 0x6915b8
mov ecx, dword [esp + 0x70]
push esi
lea ecx, [ecx + 0x18]
call fcn.00409a66
push 0x9236bc
lea ecx, [esp + 0x47c]
call fcn.00415f82
push 0
lea eax, [esp + 0x47c]
mov dword [esp + 0x1f8], 0
push eax
sub esp, 8
lea ecx, [esp + 0x204]
mov eax, esp
push esi
mov dword [eax], ecx
mov dword [eax + 4], 1
call fcn.0040f7e5
mov esi, eax
add esp, 0x14
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
jmp 0x691e4b
mov eax, dword [esp + 0xc28]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + edx*8 + 0x20]
or ecx, dword [eax + edx*8 + 0x24]
je 0x6915dc
mov al, 1
mov ecx, esi
push eax
call fcn.00411aae
jmp 0x691e4f
xor al, al
mov ecx, esi
push eax
call fcn.00411aae
jmp 0x691e4f
mov esi, dword [esp + 0x44]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x70]
mov dword [esp + 0x20], 0
push eax
push esi
lea eax, [esp + 0x28]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x6933f5
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
cmp byte [eax + 4], 0xe
jne 0x6933f5
lea eax, [esp + 0xe0]
mov ecx, edi
push eax
mov eax, dword [esp + 0x4c]
push dword [eax + 0x10]
lea eax, [esp + 0x24]
push esi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.0069dcb0
test al, al
jne 0x6933f5
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 4]
cmp eax, dword [esp + 0xc2c]
jne 0x6933f5
mov edx, dword [esp + 0xc28]
lea eax, [ecx*8]
mov dword [esp + 0x58], eax
push dword [eax + edx]
call fcn.0067dd40
add esp, 4
mov dword [esp + 0x54], eax
cmp eax, 0xc
ja 0x6933ca
push dword [edx + ecx*8 + 0x10]
call fcn.0067dcd0
mov esi, eax
add esp, 4
test esi, esi
je 0x69339f
cmp esi, 1
je 0x69339f
push dword [edx + ecx*8 + 0x18]
mov ecx, edi
call fcn.0067de00
mov ecx, dword [edi + 0xec]
mov byte [esp + 0x1f8], al
mov eax, dword [esp + 0xe0]
push dword [eax]
lea eax, [esp + 0xc1c]
push eax
call fcn.00408fc6
mov ecx, eax
call fcn.004123be
mov ecx, eax
call fcn.004082bf
push edx
push eax
lea ecx, [esp + 0x204]
call fcn.00407667
push 2
push 0x28
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x69173f
push 0
push dword [esp + 0x1fc]
mov ecx, eax
push esi
push dword [esp + 0x208]
push dword [esp + 0xf0]
push dword [esp + 0x80]
push dword [esp + 0x6c]
call fcn.00406a50
mov esi, eax
jmp 0x691741
xor esi, esi
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x3c], esi
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xc28]
mov ecx, dword [edx + eax + 8]
or ecx, dword [edx + eax + 0xc]
je 0x691774
mov al, 1
mov ecx, esi
push eax
call fcn.0040e197
jmp 0x691e4f
xor al, al
mov ecx, esi
push eax
call fcn.0040e197
jmp 0x691e4f
cmp dword [esp + 0xc2c], 2
jne 0x69344b
mov ecx, dword [esp + 0xc28]
push dword [ecx]
call fcn.0067dcd0
mov esi, eax
add esp, 4
test esi, esi
je 0x693420
cmp esi, 1
je 0x693420
cmp esi, 2
je 0x693420
push dword [ecx + 8]
mov ecx, edi
call fcn.0067de00
push 0
push 0x28
mov byte [esp + 0x208], al
call fcn.00413ef8
add esp, 8
test eax, eax
je 0x691e49
push 0
push dword [esp + 0x204]
mov ecx, eax
push esi
push dword [edi + 0xe8]
call fcn.00410ca8
mov esi, eax
jmp 0x691e4b
cmp dword [esp + 0xc2c], 3
jb 0x6935ef
mov eax, dword [esp + 0xc28]
mov ecx, edi
push dword [eax]
lea eax, [esp + 0x210]
push eax
call fcn.0067c490
mov ecx, dword [esp + 0xc28]
xor esi, esi
mov dword [esp + 0x28], 2
mov eax, dword [ecx + 8]
lea edx, [esi + 2]
mov dword [esp + 0x40], eax
test eax, 0x20000
je 0x69187e
push dword [ecx + 0x10]
lea eax, [esp + 0x344]
mov dword [esp + 0x2c], 3
push eax
call fcn.0067da00
add esp, 8
mov edx, 3
mov esi, dword [eax]
test esi, esi
je 0x693476
mov ecx, dword [esp + 0xc28]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
test eax, 0x8000
je 0x6918ac
push dword [ecx + edx*8]
lea eax, [edx + 1]
mov ecx, edi
mov dword [esp + 0x2c], eax
call fcn.0067e3c0
mov dword [esp + 0x1c], eax
cmp byte [eax + 4], 0xd
jne 0x6934a1
lea eax, [esp + 0x48]
mov ecx, edi
push eax
lea eax, [esp + 0x84]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x6935c4
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
cmp byte [eax + 4], 0xe
jne 0x693599
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
test ecx, ecx
jne 0x691930
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x1c], ecx
cmp byte [ecx + 4], 0xd
je 0x691939
push str.Callee_is_not_of_pointer_to_function_type
lea ecx, [esp + 0xa88]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa84]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
cmp dword [eax + 0x10], ecx
jne 0x69356e
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x28]
dec ecx
add eax, ecx
cmp dword [esp + 0xc2c], eax
jb 0x693543
lea ecx, [esp + 0xf40]
call fcn.0040bb90
lea ecx, [esp + 0x1024]
call fcn.00409ead
mov edx, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov eax, dword [edx + 8]
sub eax, 1
mov dword [esp + 0x50], eax
je 0x691a39
mov eax, dword [edx + 0xc]
shl ecx, 2
mov dword [esp + 0x58], ecx
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 4], 8
jne 0x6919ad
mov eax, dword [esp + 0xc28]
mov ecx, dword [esp + 0x28]
push dword [eax + ecx*8]
mov ecx, edi
call fcn.0067c4e0
jmp 0x6919c5
push eax
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
mov ecx, edi
push dword [esp + 0x30]
push eax
call fcn.00680500
mov dword [esp + 0x54], eax
lea ecx, [esp + 0xf40]
lea eax, [esp + 0x54]
push eax
call fcn.0040e610
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 0xc]
mov eax, dword [ecx + eax + 4]
lea ecx, [esp + 0x1024]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x54]
push eax
call fcn.0040399a
mov ecx, dword [esp + 0xf44]
mov eax, dword [esp + 0xf40]
cmp dword [eax + ecx*4 - 4], 0
je 0x6934cc
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
inc ecx
mov edx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], eax
cmp ecx, dword [esp + 0x50]
jne 0x691982
jmp 0x691a3d
mov eax, dword [esp + 0x28]
cmp dword [edx + 4], 0x100
jae 0x691a70
cmp eax, dword [esp + 0xc2c]
je 0x691ae5
push str.Invalid_record
lea ecx, [esp + 0xaa0]
call fcn.00415f82
lea eax, [esp + 0xa9c]
jmp 0x6934e4
cmp eax, dword [esp + 0xc2c]
je 0x691ae5
nop dword [eax]
lea eax, [esp + 0x208]
mov ecx, edi
push eax
lea eax, [esp + 0x208]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x69350f
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0xf44]
call fcn.0040e610
lea eax, [esp + 0x208]
push eax
lea ecx, [esp + 0x1028]
call fcn.0040399a
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0xc2c]
jne 0x691a80
push 0x9236bc
lea ecx, [esp + 0x488]
call fcn.00415f82
push 0
lea eax, [esp + 0x488]
push eax
sub esp, 8
lea eax, [esp + 0x1c]
mov ecx, esp
push eax
call fcn.0040d125
mov eax, dword [esp + 0xf50]
sub esp, 8
mov ecx, esp
push dword [esp + 0x98]
mov dword [ecx], eax
mov eax, dword [esp + 0xf60]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x38]
push eax
call fcn.0040bd3e
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x5c], eax
add esp, 0x20
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
call fcn.004108bb
lea eax, [esp + 0x3c]
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
shr eax, 1
and eax, 0x3ff
push eax
call fcn.0040a1cd
mov ecx, dword [esp + 0x40]
mov edx, 2
mov eax, ecx
and eax, 1
test ecx, 0x4000
cmovne eax, edx
test ecx, 0x10000
mov ecx, 3
cmovne eax, ecx
mov ecx, dword [esp + 0x28]
push eax
call fcn.00410762
mov edx, dword [esp + 0x28]
sub esp, 8
mov eax, dword [esp + 0x214]
mov ecx, esp
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x102c]
mov dword [ecx], eax
mov eax, dword [esp + 0x1030]
mov dword [ecx + 4], eax
mov ecx, edi
push edx
call fcn.0069dd60
test esi, esi
je 0x691c01
push dword [esp + 0x28]
call fcn.00413570
add esp, 4
test al, al
je 0x693529
push esi
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.0040dfe4
jmp 0x691c05
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x1024]
call fcn.004041d8
lea ecx, [esp + 0xf40]
call fcn.0040e1e2
jmp 0x691e5f
cmp dword [esp + 0xc2c], 3
jb 0x693645
mov eax, dword [esp + 0xc28]
mov ecx, edi
push dword [eax]
call fcn.0067e3c0
mov esi, eax
mov ecx, edi
push esi
push dword [esp + 0x48]
lea eax, [esp + 0xc30]
push 1
push eax
call fcn.00680500
mov ecx, dword [esp + 0xc28]
mov dword [esp + 0x38], eax
push dword [ecx + 0x10]
mov ecx, edi
call fcn.0067e3c0
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], eax
test esi, esi
je 0x69361a
cmp dword [esp + 0x38], 0
je 0x69361a
test eax, eax
je 0x69361a
push 1
push 0x24
call fcn.00413ef8
mov esi, eax
add esp, 8
test esi, esi
je 0x691e49
push 0x9236bc
lea ecx, [esp + 0x494]
call fcn.00415f82
push 0
lea eax, [esp + 0x494]
mov ecx, esi
push eax
push dword [esp + 0x5c]
push dword [esp + 0x44]
call fcn.004078b5
mov esi, eax
jmp 0x691e4b
mov esi, dword [esp + 0xc2c]
cmp esi, 1
jb 0x6936a7
lea ecx, [edi + 0x384]
call fcn.004024cd
mov ecx, dword [esp + 0xc28]
cmp dword [ecx + 4], 0
ja 0x6936a7
jb 0x691d0d
cmp dword [ecx], eax
jae 0x6936a7
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x38], 1
cmp esi, 1
je 0x691d92
nop dword [eax + eax]
push 0
lea eax, [esp + 0x214]
mov ecx, edi
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x693670
lea eax, [esp + 0x210]
push eax
lea ecx, [esp + 0x174]
call fcn.0040b7a3
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0xc2c]
jne 0x691d40
mov ecx, dword [esp + 0xc28]
lea eax, [esp + 0x170]
push eax
push dword [ecx]
lea ecx, [edi + 0x384]
call fcn.0040c17b
push eax
lea ecx, [esp + 0x14]
call fcn.0040addf
lea ecx, [esp + 0x170]
call fcn.00401da7
jmp 0x691eec
lea eax, [esp + 0x48]
mov dword [esp + 0x38], 0
push eax
lea eax, [esp + 0x54]
mov dword [esp + 0x54], 0
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x44]
mov ecx, edi
push eax
lea eax, [esp + 0xc38]
push eax
call fcn.00680650
test al, al
jne 0x693761
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 0xc2c]
jne 0x693736
push 1
push 0x24
call fcn.00413ef8
mov esi, eax
add esp, 8
test esi, esi
je 0x691e49
push 0x9236bc
lea ecx, [esp + 0x4a0]
call fcn.00415f82
push 0
lea eax, [esp + 0x4a0]
mov ecx, esi
push eax
push dword [esp + 0x58]
call fcn.0041528f
mov esi, eax
jmp 0x691e4b
xor esi, esi
mov dword [esp + 0x3c], esi
lea eax, [esp + 0x3c]
push eax
lea ecx, [edi + 0x184]
call fcn.00401267
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x693704
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x10]
jne 0x6936d2
push esi
add ecx, 0x18
call fcn.00409a66
mov ecx, esi
call fcn.00413773
test al, al
je 0x691ec2
mov ecx, dword [esp + 0x100]
inc ecx
mov dword [esp + 0x100], ecx
mov eax, dword [edi + 0x2e4]
mov edx, dword [edi + 0x2e0]
sub eax, edx
sar eax, 2
cmp ecx, eax
jae 0x691eba
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x70], eax
jmp 0x691ec2
mov dword [esp + 0x70], 0
mov ecx, dword [esi]
cmp byte [ecx + 4], 7
je 0x691eec
mov eax, dword [esp + 0x48]
test eax, eax
cmove eax, ecx
lea ecx, [edi + 0x144]
push eax
push dword [esp + 0x48]
mov dword [esp + 0x50], eax
push esi
call fcn.0040489a
inc dword [esp + 0x44]
lea ecx, [esp + 0x20]
call fcn.00411de2
lea ecx, [esp + 0x2c]
call fcn.0040f876
jmp 0x692054
mov eax, dword [esp + 0x30]
add eax, 0xfffffff5
cmp eax, 7
ja case.0x691f13.12
jmp dword [eax*4 + 0x693c38]
lea eax, [esp + 0x214]
mov ecx, edi
push eax
call fcn.00685b60
mov eax, dword [esp + 0x214]
test eax, eax
jne 0x691f7b
mov ecx, dword [edi + 0x148]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x144]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x44], eax
jmp 0x69203d
push 0
push 0
lea eax, [esp + 0x220]
mov ecx, edi
push eax
call fcn.0069bf30
mov eax, dword [esp + 0x218]
test eax, eax
je 0x69203d
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x6920ae
lea eax, [edi + 0x184]
push eax
push dword [esp + 0x6c]
lea eax, [esp + 0x13c]
push eax
lea ecx, [edi + 0x170]
call fcn.0040c5c2
mov eax, dword [esp + 0x134]
test eax, eax
je 0x69203d
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [esp + 0x134], 0
jmp 0x6920ae
push 0
lea eax, [esp + 0x13c]
push eax
lea ecx, [edi + 0x170]
call fcn.004099a3
mov eax, dword [esp + 0x138]
test eax, eax
je 0x69203d
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [esp + 0x138], 0
jmp 0x6920ae
lea eax, [esp + 0x108]
mov ecx, edi
push eax
call fcn.0069b800
mov eax, dword [esp + 0x108]
test eax, eax
jne 0x691f7b
jmp 0x69203d
lea eax, [esp + 0x13c]
mov ecx, esi
push eax
call fcn.0040ad2b
mov eax, dword [esp + 0x13c]
test eax, eax
jne 0x6937ea
test byte [esp + 0x34], 1
je 0x692054
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x692054
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
push 0
lea eax, [esp + 0x30]
push eax
lea ecx, [edi + 0x10]
call fcn.004019dd
mov cl, byte [esp + 0x34]
mov al, cl
not al
test al, 1
je 0x693a03
lea esi, [edi + 0x10]
jmp 0x68da56
mov word [esp + 0x304], 0x103
lea eax, [esp + 0x2fc]
mov dword [esp + 0x2fc], str.Invalid_ID
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [edi + 4]
call fcn.0067bc20
lea ecx, [esp + 0x20]
call fcn.00411de2
test byte [esp + 0x34], 1
je 0x6920c5
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x6920c5
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
lea ecx, [esp + 0xc28]
call fcn.00407833
jmp 0x693ac0
mov word [esp + 0x2a4], 0x103
lea eax, [esp + 0x29c]
mov dword [esp + 0x29c], str.Invalid_record
jmp 0x692097
mov word [esp + 0x2b0], 0x103
lea eax, [esp + 0x2a8]
mov dword [esp + 0x2a8], str.Invalid_record
jmp 0x692097
mov word [esp + 0x2bc], 0x103
lea eax, [esp + 0x2b4]
mov dword [esp + 0x2b4], str.Invalid_record
jmp 0x692097
mov word [esp + 0x2c8], 0x103
lea eax, [esp + 0x2c0]
mov dword [esp + 0x2c0], str.Invalid_record
jmp 0x692097
mov word [esp + 0x2d4], 0x103
lea eax, [esp + 0x2cc]
mov dword [esp + 0x2cc], str.Invalid_record
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x4ac]
call fcn.00415f82
lea eax, [esp + 0x4a8]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x4b8]
call fcn.00415f82
lea eax, [esp + 0x4b4]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x4c4]
call fcn.00415f82
lea eax, [esp + 0x4c0]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x4d0]
call fcn.00415f82
lea eax, [esp + 0x4cc]
jmp 0x692097
push str.Invalid_cast
lea ecx, [esp + 0x4dc]
call fcn.00415f82
lea eax, [esp + 0x4d8]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x4e8]
call fcn.00415f82
lea eax, [esp + 0x4e4]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x4f4]
call fcn.00415f82
lea eax, [esp + 0x4f0]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x500]
call fcn.00415f82
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x4fc]
push eax
push ecx
lea ecx, [edi + 4]
call fcn.0067bc20
lea ecx, [esp + 0xea8]
call fcn.0040e1e2
jmp 0x6920a5
push str.Explicit_gep_type_does_not_match_pointee_type_of_pointer_operand
lea ecx, [esp + 0x50c]
call fcn.00415f82
lea eax, [esp + 0x508]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x518]
call fcn.00415f82
lea eax, [esp + 0x514]
jmp 0x692097
push str.EXTRACTVAL:_Invalid_type
lea ecx, [esp + 0x524]
call fcn.00415f82
lea eax, [esp + 0x520]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [edi + 4]
call fcn.0067bc20
lea ecx, [esp + 0xe38]
call fcn.00407734
jmp 0x6920a5
push str.EXTRACTVAL:_Invalid_struct_index
lea ecx, [esp + 0x530]
call fcn.00415f82
lea eax, [esp + 0x52c]
jmp 0x6922c9
push str.EXTRACTVAL:_Invalid_array_index
lea ecx, [esp + 0x53c]
call fcn.00415f82
lea eax, [esp + 0x538]
jmp 0x6922c9
push str.Invalid_value
lea ecx, [esp + 0x548]
call fcn.00415f82
lea eax, [esp + 0x544]
jmp 0x6922c9
push str.EXTRACTVAL:_Invalid_instruction_with_0_indices
lea ecx, [esp + 0x554]
call fcn.00415f82
lea eax, [esp + 0x550]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x560]
call fcn.00415f82
lea eax, [esp + 0x55c]
jmp 0x692097
push str.INSERTVAL:_Invalid_type
lea ecx, [esp + 0x56c]
call fcn.00415f82
lea eax, [esp + 0x568]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [edi + 4]
call fcn.0067bc20
lea ecx, [esp + 0xe54]
call fcn.00407734
jmp 0x6920a5
push str.INSERTVAL:_Invalid_array_index
lea ecx, [esp + 0x584]
call fcn.00415f82
lea eax, [esp + 0x580]
jmp 0x692388
push str.Inserted_value_type_doesnt_match_aggregate_type
lea ecx, [esp + 0x590]
call fcn.00415f82
lea eax, [esp + 0x58c]
jmp 0x692388
push str.Invalid_value
lea ecx, [esp + 0x59c]
call fcn.00415f82
lea eax, [esp + 0x598]
jmp 0x692388
push str.INSERTVAL:_Invalid_instruction_with_0_indices
lea ecx, [esp + 0x5a8]
call fcn.00415f82
lea eax, [esp + 0x5a4]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x5b4]
call fcn.00415f82
lea eax, [esp + 0x5b0]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x5c0]
call fcn.00415f82
lea eax, [esp + 0x5bc]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x5cc]
call fcn.00415f82
lea eax, [esp + 0x5c8]
jmp 0x692097
push str.Invalid_type_for_value
lea ecx, [esp + 0x5e4]
call fcn.00415f82
lea eax, [esp + 0x5e0]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x5f0]
call fcn.00415f82
lea eax, [esp + 0x5ec]
jmp 0x692097
push str.Invalid_type_for_value
lea ecx, [esp + 0x5fc]
call fcn.00415f82
lea eax, [esp + 0x5f8]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x608]
call fcn.00415f82
lea eax, [esp + 0x604]
jmp 0x692097
push str.Invalid_type_for_value
lea ecx, [esp + 0x614]
call fcn.00415f82
lea eax, [esp + 0x610]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x620]
call fcn.00415f82
lea eax, [esp + 0x61c]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x62c]
call fcn.00415f82
lea eax, [esp + 0x628]
jmp 0x692097
push str.Invalid_type_for_value
lea ecx, [esp + 0x638]
call fcn.00415f82
lea eax, [esp + 0x634]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x644]
call fcn.00415f82
lea eax, [esp + 0x640]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x650]
call fcn.00415f82
lea eax, [esp + 0x64c]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x65c]
call fcn.00415f82
lea eax, [esp + 0x658]
jmp 0x692097
push str.Invalid_record:_operand_number_exceeded_available_operands
lea ecx, [esp + 0x668]
call fcn.00415f82
lea eax, [esp + 0x664]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x674]
call fcn.00415f82
lea eax, [esp + 0x670]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x680]
call fcn.00415f82
lea eax, [esp + 0x67c]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x68c]
call fcn.00415f82
lea eax, [esp + 0x688]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x698]
call fcn.00415f82
lea eax, [esp + 0x694]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x6a4]
call fcn.00415f82
lea eax, [esp + 0x6a0]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x6b0]
call fcn.00415f82
lea eax, [esp + 0x6ac]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x6bc]
call fcn.00415f82
lea eax, [esp + 0x6b8]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x6c8]
call fcn.00415f82
lea eax, [esp + 0x6c4]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x6d4]
call fcn.00415f82
lea eax, [esp + 0x6d0]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x6e0]
call fcn.00415f82
lea eax, [esp + 0x6dc]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x6ec]
call fcn.00415f82
lea eax, [esp + 0x6e8]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x6f8]
call fcn.00415f82
lea eax, [esp + 0x6f4]
jmp 0x692097
push str.Invalid_record
lea ecx, [esp + 0x704]
call fcn.00415f82
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x700]
push eax
push ecx
lea ecx, [edi + 4]
call fcn.0067bc20
mov eax, dword [esp + 0xe70]
lea ecx, [esp + 0xe7c]
cmp eax, ecx
je 0x692763
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
lea ecx, [esp + 0x20]
call fcn.00411de2
test byte [esp + 0x34], 1
je 0x692783
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x692783
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
lea ecx, [esp + 0xc28]
call fcn.00407833
mov eax, dword [esp + 0xc]
test eax, eax
je 0x6927e7
lea ecx, [esp + 0xc]
push ecx
push dword [esp + 0x14]
push eax
call fcn.00413980
mov ecx, dword [esp + 0x20]
mov eax, 0x38e38e39
mov esi, dword [esp + 0x18]
add esp, 0xc
sub ecx, esi
imul ecx
lea ecx, [esp + 0xc]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.0040b483
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
lea ecx, [esp + 8]
call fcn.00401afa
jmp 0x693b2e
push str.Invalid_record
lea ecx, [esp + 0x710]
call fcn.00415f82
lea eax, [esp + 0x70c]
mov esi, dword [esp + 0x18]
lea ecx, [edi + 4]
push eax
push esi
call fcn.0067bc20
lea ecx, [esp + 0xe70]
call fcn.0040ce55
lea ecx, [esp + 0x20]
call fcn.00411de2
lea ecx, [esp + 0x2c]
call fcn.0040f876
lea ecx, [esp + 0xc28]
call fcn.00407833
lea ecx, [esp + 0xc]
call fcn.00408184
lea ecx, [esp + 8]
call fcn.00401afa
mov eax, esi
pop edi
pop esi
mov ecx, dword [esp + 0x10b4]
xor ecx, esp
call fcn.004087b5
mov esp, ebp
pop ebp
ret 8
push str.Invalid_record
lea ecx, [esp + 0x71c]
call fcn.00415f82
lea eax, [esp + 0x718]
jmp 0x69280d
push str.Invalid_record
lea ecx, [esp + 0x728]
call fcn.00415f82
lea eax, [esp + 0x724]
push eax
push dword [esp + 0x1c]
jmp 0x69209d
push str.Invalid_record
lea ecx, [esp + 0x734]
call fcn.00415f82
lea eax, [esp + 0x730]
mov esi, dword [esp + 0x18]
lea ecx, [edi + 4]
push eax
push esi
call fcn.0067bc20
lea ecx, [esp + 0xe84]
call fcn.0040bd0c
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x740]
call fcn.00415f82
lea eax, [esp + 0x73c]
jmp 0x6928c3
push str.Invalid_record
lea ecx, [esp + 0x74c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x748]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x758]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x754]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
test esi, esi
je 0x69295f
push 1
mov ecx, esi
call fcn.00409ef3
push str.Invalid_record
lea ecx, [esp + 0x764]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x760]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x770]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x76c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x77c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x778]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
test esi, esi
je 0x6929ed
push 1
mov ecx, esi
call fcn.00404e12
push str.Invalid_record
lea ecx, [esp + 0x788]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x784]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x794]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x790]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x7a0]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x79c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Explicit_invoke_type_is_not_a_function_type
lea ecx, [esp + 0x7ac]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x7a8]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x7c4]
call fcn.00415f82
lea eax, [esp + 0x7c0]
mov esi, dword [esp + 0x18]
lea ecx, [edi + 4]
push eax
push esi
call fcn.0067bc20
lea ecx, [esp + 0x1070]
call fcn.004041d8
lea ecx, [esp + 0xfd8]
call fcn.0040e1e2
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x7dc]
call fcn.00415f82
lea eax, [esp + 0x7d8]
jmp 0x692ab1
push str.Insufficient_operands_to_call
lea ecx, [esp + 0x7e8]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x7e4]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Explicit_invoke_type_does_not_match_pointee_type_of_callee_operand
lea ecx, [esp + 0x7f4]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x7f0]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Callee_is_not_a_pointer
lea ecx, [esp + 0x800]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x7fc]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x80c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x808]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x818]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x814]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x824]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x820]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Explicit_call_type_is_not_a_function_type
lea ecx, [esp + 0x830]
call fcn.00415f82
lea eax, [esp + 0x82c]
mov esi, dword [esp + 0x18]
lea ecx, [edi + 4]
push eax
push esi
call fcn.0067bc20
lea ecx, [esp + 0xef4]
call fcn.004108d9
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x848]
call fcn.00415f82
lea eax, [esp + 0x844]
mov esi, dword [esp + 0x18]
lea ecx, [edi + 4]
push eax
push esi
call fcn.0067bc20
lea ecx, [esp + 0xf8c]
call fcn.0040e1e2
lea ecx, [esp + 0xef4]
call fcn.004108d9
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x860]
call fcn.00415f82
lea eax, [esp + 0x85c]
jmp 0x692c47
push str.Insufficient_operands_to_call
lea ecx, [esp + 0x86c]
call fcn.00415f82
lea eax, [esp + 0x868]
jmp 0x692c10
push str.Explicit_call_type_does_not_match_pointee_type_of_callee_operand
lea ecx, [esp + 0x878]
call fcn.00415f82
lea eax, [esp + 0x874]
jmp 0x692c10
push str.Callee_is_not_a_pointer_type
lea ecx, [esp + 0x884]
call fcn.00415f82
lea eax, [esp + 0x880]
jmp 0x692c10
push str.Invalid_record
lea ecx, [esp + 0x890]
call fcn.00415f82
lea eax, [esp + 0x88c]
jmp 0x692c10
push str.Invalid_record
lea ecx, [esp + 0x89c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x898]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x8a8]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x8a4]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x8b4]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x8b0]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x8c0]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x8bc]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Personality_function_mismatch
lea ecx, [esp + 0x8d8]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x8d4]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x8e4]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x8e0]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
test esi, esi
je 0x692e0f
push 1
mov ecx, esi
call fcn.004147e5
push str.Invalid_record
lea ecx, [esp + 0x8f0]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x8ec]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x8fc]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x8f8]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x908]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x904]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Old_style_alloca_with_a_non_pointer_type
lea ecx, [esp + 0x914]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x910]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.alloca_of_unsized_type
lea ecx, [esp + 0x920]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x91c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
lea ecx, [esp + 0xb9c]
call fcn.0040d49f
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x92c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x928]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xbc], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x938]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x934]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.load_of_unsized_type
lea ecx, [esp + 0x944]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x940]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
lea ecx, [esp + 0xbc0]
call fcn.0040d49f
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc0], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc4], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
push str.Load_operand_is_not_a_pointer_type
lea ecx, [esp + 0x950]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x94c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x95c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x958]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Alignment_missing_from_atomic_load
lea ecx, [esp + 0x968]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x964]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc8], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x974]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x970]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x980]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x97c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xcc], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
push str.Load_operand_is_not_a_pointer_type
lea ecx, [esp + 0x98c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x988]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x998]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x994]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.store_of_unsized_type
lea ecx, [esp + 0x9a4]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x9a0]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
lea ecx, [esp + 0xbe4]
call fcn.0040d49f
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xd0], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xd4], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x9b0]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x9ac]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Alignment_missing_from_atomic_store
lea ecx, [esp + 0x9bc]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x9b8]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xd8], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x9c8]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x9c4]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x9d4]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x9d0]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xf4], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x9e0]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x9dc]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
mov esi, dword [esp + 0x18]
mov dword [esp + 0xb0], 0
mov dword [esi], eax
call fcn.0040cbc6
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0x9f8]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x9f4]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa04]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa00]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa10]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa0c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Cmpxchg_operand_is_not_a_pointer_type
lea ecx, [esp + 0xa1c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa18]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa28]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa24]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa34]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa30]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa40]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa3c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa4c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa48]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa58]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa54]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa64]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa60]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Fast_math_flags_indicator_set_for_call_with_no_FMF
lea ecx, [esp + 0xa70]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa6c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Explicit_call_type_is_not_a_function_type
lea ecx, [esp + 0xa7c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa78]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xa94]
call fcn.00415f82
lea eax, [esp + 0xa90]
mov esi, dword [esp + 0x18]
lea ecx, [edi + 4]
push eax
push esi
call fcn.0067bc20
lea ecx, [esp + 0x1024]
call fcn.004041d8
lea ecx, [esp + 0xf40]
call fcn.0040e1e2
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xaac]
call fcn.00415f82
lea eax, [esp + 0xaa8]
jmp 0x6934e4
push str.Fast_math_flags_specified_for_call_without_floating_point_scalar_or_vector_return_type
lea ecx, [esp + 0xab8]
call fcn.00415f82
lea eax, [esp + 0xab4]
jmp 0x6934e4
push str.Insufficient_operands_to_call
lea ecx, [esp + 0xac4]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xac0]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Explicit_call_type_does_not_match_pointee_type_of_callee_operand
lea ecx, [esp + 0xad0]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xacc]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Callee_is_not_a_pointer_type
lea ecx, [esp + 0xadc]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xad8]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xae8]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xae4]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xaf4]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xaf0]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xb00]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xafc]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xb0c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb08]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xb18]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb14]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
lea ecx, [esp + 0x170]
call fcn.00401da7
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xb24]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb20]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
mov ecx, esi
call fcn.00406aa0
push str.Operand_bundles_found_with_no_consumer
lea ecx, [esp + 0xb30]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb2c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
mov ecx, esi
call fcn.00406aa0
push str.Invalid_instruction_with_no_BB
lea ecx, [esp + 0xb3c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb38]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xb48]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb44]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
push str.Invalid_record
lea ecx, [esp + 0xb54]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb50]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692827
lea eax, [esp + 0x2d8]
mov word [esp + 0x2e0], 0x103
push eax
push dword [esp + 0x1c]
lea ecx, [edi + 4]
mov dword [esp + 0x2e0], str.Invalid_value
call fcn.0067bc20
test byte [esp + 0x24], 1
je 0x693a8d
mov ecx, dword [esp + 0x20]
jmp 0x693a81
push dword [esp + 0x18]
lea ecx, [esp + 0x24]
call fcn.004091f6
test byte [esp + 0x24], 1
je 0x693a8d
mov ecx, dword [esp + 0x20]
jmp 0x693a81
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [esp + 0x13c], 0
jmp 0x693a8d
test cl, 1
je 0x693812
mov eax, dword [edx]
mov ecx, 1
push 1
mov eax, dword [eax]
call eax
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x10]
je 0x693847
push str.Operand_bundles_found_with_no_consumer
lea ecx, [esp + 0xb60]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb5c]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692839
mov eax, dword [edi + 0x148]
xor ecx, ecx
mov eax, dword [eax - 4]
cmp byte [eax + 8], 0x11
cmovne eax, ecx
test eax, eax
je 0x693911
cmp dword [eax + 0x10], ecx
jne 0x693911
lea esi, [edi + 0x144]
mov ecx, esi
call fcn.0040bb72
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x108], eax
cmp ecx, eax
je 0x6938e6
mov edi, eax
nop dword [eax + eax]
push ecx
mov ecx, esi
call fcn.0040897c
push eax
call fcn.00409255
mov esi, eax
add esp, 4
test esi, esi
je 0x6938c8
cmp dword [esi + 0x10], 0
jne 0x6938c8
push dword [esi]
call fcn.0040105a
add esp, 4
mov ecx, esi
push eax
call fcn.00408f08
push 1
mov ecx, esi
call fcn.00410041
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0x220]
inc ecx
mov dword [esp + 0xb4], ecx
cmp ecx, edi
jne 0x693890
mov edi, dword [esp + 0x5c]
push str.Never_resolved_value_found_in_function
lea ecx, [esp + 0xb6c]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb68]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692839
lea ecx, [edi + 0x170]
call fcn.0040d909
test al, al
je 0x69394b
push str.Invalid_function_metadata:_outgoing_forward_refs
lea ecx, [esp + 0xb78]
call fcn.00415f82
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xb74]
push eax
push esi
lea ecx, [edi + 4]
call fcn.0067bc20
jmp 0x692839
push dword [esp + 0xb4]
lea ecx, [edi + 0x144]
call fcn.0040740f
push dword [esp + 0xf0]
lea ecx, [edi + 0x170]
call fcn.00411d42
lea eax, [edi + 0x2e0]
mov dword [esp + 0x250], 0
push eax
lea ecx, [esp + 0x254]
mov dword [esp + 0x258], 0
mov dword [esp + 0x25c], 0
call fcn.00403783
lea ecx, [esp + 0x250]
call fcn.00412710
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0xf0]
mov dword [esp + 0xf0], 0
mov dword [esi], 0
call fcn.00403049
jmp 0x692839
lea eax, [esp + 0x2e4]
mov word [esp + 0x2ec], 0x103
push eax
push dword [esp + 0x1c]
lea ecx, [edi + 4]
mov dword [esp + 0x2ec], str.Malformed_block
call fcn.0067bc20
jmp 0x693a8d
test cl, 1
je 0x693a39
mov eax, dword [esp + 0x2c]
xor ecx, ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x104], eax
mov dword [esp + 0x2c], 0
mov dword [edx], 0
mov eax, dword [esp + 0x104]
mov dword [edx], eax
mov dword [esp + 0x104], ecx
jmp 0x693a81
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x140], 0
mov dword [ecx], 0
mov eax, dword [esp + 0x140]
mov dword [ecx], eax
mov ecx, dword [esp + 0x140]
test ecx, ecx
je 0x693a74
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
mov eax, 2
and eax, 0xfffffffd
jmp 0x693a76
xor eax, eax
test al, 1
je 0x693a8d
mov ecx, dword [esp + 0x104]
test ecx, ecx
je 0x693a8d
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
test byte [esp + 0x34], 1
je 0x693aa4
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x693aa4
mov eax, dword [ecx]
push 1
mov eax, dword [eax]
call eax
mov eax, dword [esp + 0xc28]
lea ecx, [esp + 0xc38]
cmp eax, ecx
je 0x693ac0
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x693b18
lea ecx, [esp + 0xc]
push ecx
push dword [esp + 0x14]
push eax
call fcn.00413980
mov esi, dword [esp + 0x18]
mov eax, 0x38e38e39
mov ecx, dword [esp + 0x20]
add esp, 0xc
sub ecx, esi
imul ecx
lea ecx, [esp + 0xc]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.0040b483
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 8]
test eax, eax
je 0x693b2e
push eax
lea eax, [esp + 0xc]
push eax
call fcn.00413d7c
add esp, 8
mov ecx, dword [esp + 0x10bc]
mov eax, dword [esp + 0x18]
pop edi
pop esi
xor ecx, esp
call fcn.004087b5
mov esp, ebp
pop ebp
ret 8
call fcn.0040f5a1
nop dword [eax]
int 0xda
push 1759567616
add byte [ebp + 0x6c0068e2], bh
in al, 0x68
add ch, ch
ljmp 0x68