Function at 0x7bc980
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x11c
mov eax, dword [0x9726c0]
xor eax, esp
mov dword [esp + 0x118], eax
cmp dword [esp + 0x130], 0
mov eax, dword [esp + 0x124]
movsd xmm0, qword [0x94cd58]
push ebx
push ebp
mov ebp, dword [esp + 0x130]
push esi
push edi
mov edi, dword [esp + 0x130]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x80], eax
mov eax, dword [edi + 0x74]
mov ebx, dword [edi]
mov dword [esp + 0x14], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov eax, dword [eax + 0x40]
mov dword [esp + 0x30], ebp
movsd qword [esp + 0x8c], xmm0
mov dword [esp + 0x34], ebx
mov eax, dword [eax + 0x184]
mov dword [esp + 0x40], eax
je 0x7bca44
mov eax, dword [edi + 0x80]
test eax, eax
je 0x7bca44
cmp dword [eax + 0x5c], 0
je 0x7bca44
mov eax, dword [edi + 0x8c]
mov eax, dword [eax + 0x18]
add eax, 0x58
push eax
call fcn.0087e12c
add esp, 4
mov eax, dword [edi + 0x74]
or dword [eax + 0x58], 0x40
mov eax, dword [edi + 0x84]
mov ecx, dword [eax + 0x2c]
lea eax, [esp + 0x14]
push eax
push edi
mov dword [esp + 0x18], ecx
or dword [ecx + 0x90], 1
call fcn.007acda0
mov esi, eax
add esp, 8
test esi, esi
jne 0x7bd889
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
test ebp, ebp
je 0x7bcaf8
push eax
lea eax, [esp + 0x54]
push eax
push ebp
push dword [esp + 0x20]
push edi
call fcn.007bde20
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x7bd889
push 0xf
lea eax, [esp + 0x60]
mov dword [esp + 0x78], 0
push eax
lea eax, [esp + 0x4c]
xorps xmm0, xmm0
push eax
push dword [esp + 0x20]
movups xmmword [esp + 0x6c], xmm0
movq qword [esp + 0x7c], xmm0
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bcd20
cmp esi, 0xffff86f4
je 0x7bd887
push 0x94cb9c
push edi
call fcn.0075bb00
add esp, 8
jmp 0x7bd889
mov eax, dword [ebx + 0xf8]
add ebx, 0xf8
mov dword [esp + 0x38], ebx
or eax, dword [ebx + 4]
je 0x7bcaa1
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0xb0]
push 7
push ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x60], eax
xorps xmm0, xmm0
mov dword [esp + 0xd0], 0
push ecx
push eax
movups xmmword [esp + 0xc0], xmm0
movq qword [esp + 0xd0], xmm0
call fcn.007ad400
mov ebp, dword [esp + 0x68]
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd889
nop dword [eax]
test byte [edi + 0x9c], 4
mov ecx, dword [esp + 0xb0]
jne 0x7bcb95
movzx eax, byte [ecx + 3]
mov byte [esp + 0x18], al
movzx eax, byte [ecx + 2]
mov byte [esp + 0x19], al
movzx eax, byte [ecx + 1]
mov byte [esp + 0x1a], al
movzx eax, byte [ecx]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x18]
jmp 0x7bcb9b
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
cmp eax, 0xb
jne 0x7bcbfa
lea eax, [esp + 0x3c]
push eax
push ecx
push edi
call fcn.007ea9d0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x7bcbfa
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0x10]
cmp eax, dword [esp + 0x98]
jne 0x7bcbd5
mov eax, dword [edx + 0x14]
cmp eax, dword [esp + 0x9c]
je 0x7bccfa
mov eax, dword [edx + 0x10]
sbb ebx, ebx
mov ecx, dword [edx + 0x14]
and ebx, 0xfffffffe
push edx
mov dword [esp + 0x54], eax
inc ebx
mov dword [esp + 0x58], ecx
mov ebp, dword [edx + 0x20]
push edi
call fcn.00767960
add esp, 8
test ebx, ebx
jns 0x7bcc22
push 0x10
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xd4]
push eax
push dword [esp + 0x64]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bcb60
mov ebx, dword [esp + 0x38]
test esi, esi
jne 0x7bd889
cmp dword [ebx], ebp
jge 0x7bcaa1
push 0x19
lea eax, [esp + 0x110]
mov byte [esp + 0x10d], 0
push eax
push ebx
call fcn.007defe0
add esp, 8
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.00879fe0
lea eax, [esp + 0xfc]
push 0xa
push eax
call fcn.0086d570
add esp, 0x14
test eax, eax
je 0x7bcc78
mov byte [eax], 0
mov eax, ebp
mov byte [esp + 0xed], 0
cdq
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x10c]
push 0x19
push eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xac], edx
push eax
call fcn.007defe0
add esp, 8
push eax
lea eax, [esp + 0xdc]
push eax
call fcn.00879fe0
lea eax, [esp + 0xe0]
push 0xa
push eax
call fcn.0086d570
add esp, 0x14
test eax, eax
je 0x7bccd2
mov byte [eax], 0
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0xf4]
push eax
push 0x94cb68
push edi
call fcn.0075bb00
add esp, 0x10
mov esi, 0x16
jmp 0x7bd889
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
push edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov ebp, dword [edx + 0x20]
push edi
call fcn.00767960
mov ebx, dword [esp + 0x40]
add esp, 8
jmp 0x7bcc2e
test byte [edi + 0x9c], 4
jne 0x7bcd53
mov ecx, dword [esp + 0x5c]
movzx eax, byte [ecx + 7]
mov byte [esp + 0x18], al
movzx eax, byte [ecx + 6]
mov byte [esp + 0x19], al
movzx eax, byte [ecx + 5]
mov byte [esp + 0x1a], al
movzx eax, byte [ecx + 4]
mov byte [esp + 0x1b], al
mov ebx, dword [esp + 0x18]
jmp 0x7bcd5e
mov eax, dword [esp + 0x5c]
mov ebx, dword [eax + 4]
mov dword [esp + 0x18], ebx
test ebx, ebx
jne 0x7bcd80
push 0x18
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bcd20
cmp esi, 0xffff86f4
je 0x7bcd90
test esi, esi
jne 0x7bd889
push 7
lea eax, [esp + 0x60]
mov ebp, ebx
push eax
lea eax, [esp + 0x80]
mov dword [esp + 0x40], ebp
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bcdd6
cmp esi, 0xffff86f4
je 0x7bd887
push 0x94cbb8
push edi
call fcn.0075bb00
add esp, 8
jmp 0x7bd889
test dword [esp + 0x144], 0x4000
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x3c], 1
jne 0x7bcf27
lea eax, [esp + 0x78]
push eax
push edi
call fcn.007b6100
add esp, 8
test eax, eax
jne 0x7bce8b
push 0x1b
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x20]
call fcn.007ad400
add esp, 0x10
test eax, eax
jne 0x7bce8b
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x60]
push edi
call fcn.007ea9d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x7bce67
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push 0x94cbd4
push edi
call fcn.0075bb00
add esp, 0x10
jmp 0x7bd889
mov edx, dword [esp + 0x4c]
push edx
push edi
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
call fcn.00767960
add esp, 8
mov dword [esp + 0x3c], 0
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xf8]
or eax, dword [ecx + 0xfc]
jne 0x7bcead
cmp dword [esp + 0x30], eax
jne 0x7bcead
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
jmp 0x7bcedf
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x20]
cmp ebp, edx
jne 0x7bcec5
cmp esi, ecx
je 0x7bcedb
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
jns 0x7bcedb
mov edx, ebp
mov ecx, esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov ebp, dword [esp + 0x38]
cmp dword [esp + 0x3c], 0
jne 0x7bcf27
push 0x1b
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bcf1f
push dword [esp + 0x20]
push dword [esp + 0x20]
push 0x94cbfc
push edi
call fcn.0075bb00
add esp, 0x10
jmp 0x7bd889
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
cmp dword [eax + 0x24], 0
je 0x7bcfc0
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x8b6930]
mov eax, dword [esp + 0x48]
sub eax, ecx
cmp esi, edx
jne 0x7bcf75
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x8b6930]
divsd xmm1, xmm0
jmp 0x7bcfab
add eax, dword [esp + 0x40]
sub esi, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x8b6930]
divsd xmm1, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x8b6930]
addsd xmm1, xmm0
movsd xmm0, qword [0x94cd58]
maxsd xmm0, xmm1
movsd qword [esp + 0x8c], xmm0
xor esi, esi
test ebx, ebx
je 0x7bd064
nop word [eax + eax]
test byte [edi + 0x9c], 4
jne 0x7bd003
mov ecx, dword [esp + 0x5c]
movzx eax, byte [ecx + 7]
mov byte [esp + 0x18], al
movzx eax, byte [ecx + 6]
mov byte [esp + 0x19], al
movzx eax, byte [ecx + 5]
mov byte [esp + 0x1a], al
movzx eax, byte [ecx + 4]
mov byte [esp + 0x1b], al
mov ebx, dword [esp + 0x18]
jmp 0x7bd00e
mov eax, dword [esp + 0x5c]
mov ebx, dword [eax + 4]
mov dword [esp + 0x18], ebx
test ebx, ebx
jne 0x7bd030
push 0x10
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bcfd0
cmp esi, 0xffff86f4
jne 0x7bd05c
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x44]
jne 0x7bd04c
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x48]
je 0x7bd064
lea eax, [esp + 0x28]
push eax
push edi
call fcn.007bd900
add esp, 8
mov esi, eax
test esi, esi
jne 0x7bd889
push 0x1b
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd889
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x34]
push ebp
push ebx
push dword [esp + 0xa4]
push edi
call fcn.007e8bc0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x7bd889
movsd xmm0, qword [esp + 0x8c]
lea eax, [esp + 0x44]
push 1
sub esp, 8
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x30]
push edi
call fcn.007bdc50
mov esi, eax
add esp, 0x24
test esi, esi
jne 0x7bd889
test ebp, ebp
jne 0x7bd0f8
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x7bd5bc
mov ebp, dword [esp + 0x34]
test byte [ebp + 0x80], 8
je 0x7bd11b
push dword [esp + 0x20]
push dword [esp + 0x20]
push 0x94cc28
push edi
call fcn.0075bcf0
add esp, 0x10
push 0xf
lea eax, [esp + 0x60]
mov dword [esp + 0x1c], 0x94cc4c
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd28d
nop word [eax + eax]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
cmp esi, dword [esp + 0x1c]
jne 0x7bd164
cmp edx, dword [esp + 0x20]
je 0x7bd172
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x7bd2cf
mov ebx, dword [ebp + 0x24]
test ebx, ebx
je 0x7bd22b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x8b6930]
mov eax, dword [esp + 0x48]
cmp esi, ecx
jne 0x7bd1bd
sub eax, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x8b6930]
divsd xmm1, xmm0
jmp 0x7bd1fe
sub ecx, esi
cmp edx, eax
jbe 0x7bd1cc
sub eax, edx
add eax, dword [esp + 0x40]
dec ecx
jmp 0x7bd1ce
sub eax, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x8b6930]
divsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x8b6930]
addsd xmm1, xmm0
divsd xmm1, qword [esp + 0x8c]
mov ecx, 0x22
mulsd xmm1, qword [0x94cd68]
cvttsd2si eax, xmm1
sub ecx, eax
push ecx
push 2
push ebp
call ebx
mov edx, dword [esp + 0x38]
add esp, 0xc
mov esi, dword [esp + 0x28]
push dword [esp + 0x24]
lea eax, [esp + 0x88]
mov dword [esp + 0x88], esi
push 3
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x94], edx
push eax
lea eax, [edi + 0x20]
push eax
push edi
call fcn.007e82f0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x7bd26b
cmp esi, 0xffff875a
jne 0x7bd498
push 0x18
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bd150
cmp esi, 0xffff86f4
jne 0x7bd889
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x1c]
jne 0x7bd2ad
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x20]
je 0x7bd2cf
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
jle 0x7bd2cf
lea eax, [esp + 0x28]
push eax
push edi
call fcn.007bd900
mov esi, eax
add esp, 8
test esi, esi
jne 0x7bd889
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], 0x94cc58
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
test ebx, ebx
jne 0x7bd2fd
mov eax, dword [ebp + 0xf8]
or eax, dword [ebp + 0xfc]
je 0x7bd30f
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
push 0x10
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd4bf
mov ebx, dword [ebp + 0x24]
lea esi, [edi + 0x20]
test ebx, ebx
je 0x7bd410
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x8b6930]
cmp ecx, ebp
jne 0x7bd385
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x20]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x8b6930]
divsd xmm1, xmm0
jmp 0x7bd3e7
mov edx, dword [esp + 0x2c]
sub ecx, ebp
mov esi, dword [esp + 0x20]
cmp edx, esi
jae 0x7bd3b2
mov eax, dword [esp + 0x40]
sub eax, esi
add eax, edx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
dec ecx
addsd xmm1, qword [eax*8 + 0x8b6930]
jmp 0x7bd3c8
sub edx, esi
movd xmm1, edx
cvtdq2pd xmm1, xmm1
shr edx, 0x1f
addsd xmm1, qword [edx*8 + 0x8b6930]
divsd xmm1, xmm0
lea esi, [edi + 0x20]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x8b6930]
addsd xmm1, xmm0
divsd xmm1, qword [esp + 0x8c]
mov ecx, 0x43
mulsd xmm1, qword [0x94cd68]
cvttsd2si eax, xmm1
sub ecx, eax
mov eax, dword [esp + 0x34]
push ecx
push 2
push eax
call ebx
add esp, 0xc
push dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
push 4
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x94], ecx
push eax
push esi
push edi
call fcn.007e82f0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x7bd453
cmp esi, 0xffff875a
jne 0x7bd498
xor esi, esi
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x3c]
jne 0x7bd467
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x38]
je 0x7bd4b7
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
jns 0x7bd4b7
push 0x10
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov ebp, dword [esp + 0x44]
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd4bb
jmp 0x7bd331
push dword [esp + 0x18]
push dword [esp + 0x30]
push dword [esp + 0x30]
push 0x94ccc0
push edi
call fcn.0075bb00
add esp, 0x14
jmp 0x7bd889
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
cmp esi, 0xffff86f4
jne 0x7bd4d7
lea eax, [esp + 0x28]
push eax
push edi
call fcn.007bd900
add esp, 8
mov esi, eax
test esi, esi
jne 0x7bd889
test ebx, ebx
mov ebx, dword [esp + 0x10]
jne 0x7bd4f1
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
mov dword [ebx + 8], eax
mov eax, dword [ebp + 0xf8]
or eax, dword [ebp + 0xfc]
je 0x7bd571
mov eax, dword [esp + 0x14]
test eax, eax
je 0x7bd51e
push eax
call fcn.007ad290
mov esi, eax
add esp, 4
test esi, esi
jne 0x7bd889
mov dword [esp + 0x14], eax
push 0
push 0
push 0x42
push 0
push 0
push edi
call fcn.007b4fb0
mov esi, eax
add esp, 0x18
test esi, esi
jne 0x7bd889
mov eax, dword [esp + 0x24]
push dword [esp + 0x80]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x14], ecx
mov ecx, dword [esp + 0x28]
lea eax, [ecx + 0x14]
push eax
lea eax, [ecx + 0xc]
push eax
push edi
call fcn.007caae0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd889
mov ebx, dword [esp + 0x30]
push 3
push 0
push 0
push edi
call fcn.007b5aa0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bd59b
test ebx, ebx
jne 0x7bd889
cmp esi, 0x1c
jne 0x7bd889
mov ebx, dword [esp + 0x10]
cmp dword [ebx + 0x28], 0
jne 0x7bd5c2
push 0
push edi
call fcn.007e90b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x7bd88d
jmp 0x7bd5dc
mov ebp, dword [esp + 0x34]
jmp 0x7bd575
push edi
call fcn.007e9c80
mov esi, eax
add esp, 4
test esi, esi
jne 0x7bd88d
mov eax, dword [edi + 0x74]
or dword [eax + 0x58], 0x20
mov eax, dword [esp + 0x30]
test eax, eax
je 0x7bd794
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x14], 0
jne 0x7bd611
cmp dword [ecx + 0x18], 0
jne 0x7bd611
push eax
lea eax, [ebx + 0x14]
push eax
push edi
call fcn.007cc020
mov esi, eax
add esp, 0xc
test esi, esi
je 0x7bd61d
jmp 0x7bd88d
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], ecx
mov eax, dword [esp + 0x14]
test eax, eax
je 0x7bd638
push eax
call fcn.007ad290
mov esi, eax
add esp, 4
test esi, esi
jne 0x7bd88d
push dword [esp + 0x80]
mov eax, dword [esp + 0x28]
add eax, 0x14
mov dword [esp + 0x18], 0
push eax
push dword [esp + 0x38]
push edi
call fcn.007caae0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd88d
lea eax, [esp + 0x14]
push eax
push edi
call fcn.007acda0
mov esi, eax
add esp, 8
test esi, esi
jne 0x7bd88d
push 7
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
je 0x7bd6be
cmp esi, 0xffff86f4
jne 0x7bd6ab
xor esi, esi
jmp 0x7bd88d
push 0x94cbb8
push edi
call fcn.0075bb00
add esp, 8
jmp 0x7bd88d
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.007b6100
add esp, 8
test eax, eax
jne 0x7bd73b
push 0x1b
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x20]
call fcn.007ad400
add esp, 0x10
test eax, eax
jne 0x7bd73b
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x60]
push edi
call fcn.007ea9d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x7bd71f
push dword [esp + 0x20]
push dword [esp + 0x20]
push 0x94cbd4
push edi
call fcn.0075bb00
add esp, 0x10
jmp 0x7bd88d
mov edx, dword [esp + 0x4c]
push edx
push edi
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
call fcn.00767960
add esp, 8
push 0x1b
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x20]
call fcn.007ad400
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd88d
movsd xmm0, qword [esp + 0x8c]
lea eax, [esp + 0x1c]
push 1
sub esp, 8
movsd qword [esp], xmm0
push dword [esp + 0x3c]
push eax
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x30]
push edi
call fcn.007bdc50
add esp, 0x24
jmp 0x7bd814
cmp dword [ebx + 0x28], 0
push edi
jne 0x7bd7a2
call fcn.00783d90
jmp 0x7bd7a7
call fcn.00783cb0
mov esi, eax
add esp, 4
test esi, esi
jne 0x7bd88d
mov eax, dword [ebp + 0xf8]
or eax, dword [ebp + 0xfc]
jne 0x7bd81a
mov eax, dword [esp + 0x14]
test eax, eax
je 0x7bd7dd
push eax
call fcn.007ad290
mov esi, eax
add esp, 4
test esi, esi
jne 0x7bd88d
push 0
push 0
lea eax, [esp + 0x4c]
mov dword [esp + 0x1c], 0
push eax
push edi
call fcn.007af220
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x7bd88d
push eax
lea eax, [ebx + 0x14]
push eax
lea eax, [esp + 0x4c]
push eax
push edi
call fcn.007caae0
add esp, 0x10
mov esi, eax
test esi, esi
jne 0x7bd88d
test byte [ebp + 0x80], 8
je 0x7bd88d
lea eax, [esp + 0xa8]
push eax
call fcn.0087e12c
lea eax, [esp + 0x110]
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.007defe0
push eax
push 0x94cc60
push edi
call fcn.0075bcf0
mov eax, dword [esp + 0x3c]
add esp, 0x18
test eax, eax
jne 0x7bd863
mov eax, 0x80000000
jmp 0x7bd866
mov eax, dword [eax + 8]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push 0x94cc7c
push eax
push 0x94cc90
push 0x94cca8
push edi
call fcn.0075bcf0
add esp, 0x1c
jmp 0x7bd88d
xor esi, esi
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x7bd8a7
push eax
call fcn.007ad290
add esp, 4
test eax, eax
je 0x7bd8a7
test esi, esi
cmove esi, eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x7bd8b9
push eax
push edi
call fcn.007e8920
add esp, 8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x128]
mov dword [eax + 0xf8], 0
mov dword [eax + 0xfc], 0
mov eax, dword [edi + 0x74]
pop edi
and dword [eax + 0x58], 0xffffffbf
mov eax, esi
and dword [ebx + 0x90], 0xfffffffe
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0086aede
add esp, 0x11c
ret