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

Disassembly:
jmp 0x7f8780
sub esp, 0xac
mov eax, dword [0xa0b130]
xor eax, esp
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xb4]
push ebx
push edi
mov edi, dword [esp + 0xb8]
mov ebx, ecx
push 0xa199f8
mov ecx, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], eax
call fcn.0040b249
test al, al
jne 0x7f8d16
push esi
cmp byte [ebx + 0x30], al
je 0x7f8897
call fcn.0041600e
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub eax, ecx
cmp eax, 0x2d
jae 0x7f87f6
push 0x2d
push str.Invalidating_all_non_preserved_analyses_for:
mov ecx, esi
call fcn.0041214d
mov esi, eax
jmp 0x7f882c
movups xmm0, xmmword [str.Invalidating_all_non_preserved_analyses_for:]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [0x9f0204]
movups xmmword [ecx + 0x10], xmm0
movq xmm0, qword [0x9f0214]
movq qword [ecx + 0x20], xmm0
mov eax, dword [0x9f021c]
mov dword [ecx + 0x28], eax
mov al, byte [0x9f0220]
mov byte [ecx + 0x2c], al
add dword [esi + 0xc], 0x2d
lea eax, [esp + 0x48]
mov ecx, edi
push eax
call fcn.00411d83
mov edx, dword [esi + 0xc]
mov edi, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [esi + 8]
sub eax, edx
mov dword [esp + 0x40], edi
cmp edi, eax
jbe 0x7f885a
push edi
push ecx
mov ecx, esi
call fcn.0041214d
mov esi, eax
jmp 0x7f886c
test edi, edi
je 0x7f886c
push edi
push ecx
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [esi + 0xc], edi
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
sub eax, ecx
cmp eax, 1
jae 0x7f8889
push 1
push 0x92406c
mov ecx, esi
call fcn.0041214d
jmp 0x7f8893
mov al, byte [0x92406c]
mov byte [ecx], al
inc dword [esi + 0xc]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x6c], 1
lea eax, [esp + 0x74]
mov dword [esp + 0x70], 0
nop dword [eax + eax]
mov dword [eax], 0xfffff000
lea ecx, [esp + 0xb4]
add eax, 8
cmp eax, ecx
jne 0x7f88b0
lea eax, [esp + 0x6c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x58], eax
lea ecx, [ebx + 0x10]
lea eax, [ebx + 0x20]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x18]
push eax
call fcn.0040556a
mov dword [esp + 0x28], eax
mov edi, dword [eax]
mov dword [esp + 0x50], edi
mov esi, dword [edi]
cmp esi, edi
je 0x7f8a42
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x10], ecx
push eax
lea ecx, [esp + 0x74]
call fcn.0040507e
test al, al
je 0x7f8970
call fcn.0040e025
test al, al
je 0x7f8946
test byte [esp + 0x6c], 1
lea eax, [esp + 0x74]
mov ecx, dword [esp + 0x1c]
cmove eax, dword [esp + 0x74]
jmp 0x7f8996
test byte [esp + 0x6c], 1
je 0x7f895f
mov eax, 8
lea ecx, [esp + 0x74]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x1c]
jmp 0x7f8996
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x1c]
jmp 0x7f8996
test byte [esp + 0x6c], 1
je 0x7f8984
lea ecx, [esp + 0x74]
mov eax, 8
mov ebx, ecx
jmp 0x7f898e
mov ecx, dword [esp + 0x74]
mov ebx, ecx
mov eax, dword [esp + 0x78]
mov edx, eax
lea ecx, [ecx + eax*8]
lea eax, [ebx + edx*8]
push 1
lea edx, [esp + 0x70]
push edx
push eax
push ecx
lea eax, [esp + 0x4c]
mov ecx, edx
push eax
call fcn.00412765
test byte [esp + 0x6c], 1
je 0x7f89bf
lea edx, [esp + 0x74]
mov ecx, 8
mov ebx, edx
jmp 0x7f89c9
mov edx, dword [esp + 0x74]
mov ebx, edx
mov ecx, dword [esp + 0x78]
mov eax, ecx
lea edi, [esp + 0x6c]
push 1
push edi
lea eax, [ebx + eax*8]
push eax
lea eax, [edx + ecx*8]
mov ecx, edi
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00412765
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
cmp eax, dword [esp + 0x48]
jne 0x7f8a30
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x58]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
push edx
mov eax, dword [ecx]
push dword [esp + 0x24]
push dword [esp + 0x1c]
mov eax, dword [eax + 4]
call eax
mov byte [esp + 0x34], al
lea ecx, [esp + 0x6c]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.00409ec6
mov esi, dword [esi]
cmp esi, edi
jne 0x7f8900
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
test dword [esp + 0x6c], 0xfffffffe
je 0x7f8cb3
mov edi, dword [eax]
mov esi, dword [edi]
cmp esi, edi
je 0x7f8cb3
nop dword [eax]
mov eax, dword [esi + 8]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040507e
test al, al
je 0x7f8ca5
mov eax, dword [esp + 0x20]
mov al, byte [eax + 4]
test al, al
je 0x7f8ca5
cmp byte [ebx + 0x30], 0
je 0x7f8c31
mov eax, dword [esp + 0x1c]
mov ecx, ebx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.0040ec2d
mov bl, al
call fcn.0040e025
mov dl, al
mov eax, dword [esp + 0x24]
mov byte [esp + 0x13], dl
test bl, bl
je 0x7f8aea
mov ebx, dword [eax]
test dl, dl
je 0x7f8ae4
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x18]
lea edx, [ebx + ecx*8]
cmp eax, edx
lea ecx, [eax + 8]
mov dl, byte [esp + 0x13]
jmp 0x7f8af4
mov ebx, dword [esp + 0x18]
jmp 0x7f8af7
mov ecx, dword [eax]
test dl, dl
mov eax, dword [eax + 0xc]
lea ebx, [ecx + eax*8]
cmovne ebx, ecx
test dl, dl
lea eax, [ebx - 8]
cmove eax, ebx
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
call fcn.0041600e
mov ebx, eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
sub eax, ecx
cmp eax, 0x17
jae 0x7f8b2c
push 0x17
push str.Invalidating_analysis:
mov ecx, ebx
call fcn.0041214d
mov ebx, eax
jmp 0x7f8b54
movups xmm0, xmmword [str.Invalidating_analysis:]
movups xmmword [ecx], xmm0
mov eax, dword [0x9f0178]
mov dword [ecx + 0x10], eax
mov ax, word [0x9f017c]
mov word [ecx + 0x14], ax
mov al, byte [0x9f017e]
mov byte [ecx + 0x16], al
add dword [ebx + 0xc], 0x17
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x48]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [ebx + 8]
sub eax, dword [ebx + 0xc]
mov dword [esp + 0xc], ecx
cmp ecx, eax
jbe 0x7f8b82
push ecx
push edx
mov ecx, ebx
call fcn.0041214d
mov ebx, eax
jmp 0x7f8b9a
test ecx, ecx
je 0x7f8b9a
push ecx
push edx
push dword [ebx + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x18]
add esp, 0xc
add dword [ebx + 0xc], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
sub eax, ecx
cmp eax, 4
jae 0x7f8bb9
push 4
push str._on
mov ecx, ebx
call fcn.0041214d
mov ebx, eax
jmp 0x7f8bc4
mov eax, dword [str._on]
mov dword [ecx], eax
add dword [ebx + 0xc], 4
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x50]
push eax
call fcn.00411d83
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [ebx + 8]
sub eax, dword [ebx + 0xc]
mov dword [esp + 0xc], ecx
cmp ecx, eax
jbe 0x7f8bf2
push ecx
push edx
mov ecx, ebx
call fcn.0041214d
mov ebx, eax
jmp 0x7f8c0a
test ecx, ecx
je 0x7f8c0a
push ecx
push edx
push dword [ebx + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x18]
add esp, 0xc
add dword [ebx + 0xc], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
sub eax, ecx
cmp eax, 1
jae 0x7f8c27
push 1
push 0x92406c
mov ecx, ebx
call fcn.0041214d
jmp 0x7f8c31
mov al, byte [0x92406c]
mov byte [ecx], al
inc dword [ebx + 0xc]
mov eax, dword [esi + 4]
mov ebx, dword [esi]
mov dword [eax], ebx
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x28]
dec dword [eax + 4]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x7f8c54
mov eax, dword [ecx]
push 1
call dword [eax]
push 0x10
push esi
call fcn.004036ca
mov eax, dword [esp + 0x24]
add esp, 8
mov ecx, dword [esp + 0x38]
mov esi, ebx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00412080
test al, al
je 0x7f8ca7
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xffffe000
mov dword [eax + 4], 0xffffe000
mov eax, dword [esp + 0x38]
dec dword [eax + 4]
inc dword [eax + 8]
jmp 0x7f8ca7
mov esi, dword [esi]
mov ebx, dword [esp + 0x24]
cmp esi, edi
jne 0x7f8a60
mov eax, dword [esp + 0x28]
cmp dword [eax + 4], 0
jne 0x7f8cf8
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x44]
mov ecx, ebx
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00406640
test al, al
je 0x7f8cf8
mov esi, dword [esp + 0xc]
push 0
lea ecx, [esi + 4]
call fcn.0040ac68
mov dword [esi], 0xffffe000
dec dword [ebx + 4]
inc dword [ebx + 8]
test byte [esp + 0x6c], 1
pop esi
jne 0x7f8d16
mov eax, dword [esp + 0x74]
push 4
shl eax, 3
push eax
push dword [esp + 0x78]
call fcn.00415398
add esp, 0xc
mov ecx, dword [esp + 0xb0]
pop edi
pop ebx
xor ecx, esp
call fcn.004087b5
add esp, 0xac
ret 8