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

Disassembly:
mov eax, 0x13c8
call fcn.008ba8da
push ebx
push ebp
push esi
push edi
push dword [0x100fd75c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
call dword [0x100d4264]
inc eax
push eax
push dword [0x100fd75c]
call dword [0x100d4260]
push 1
lea ecx, [esp + 0x64]
call fcn.0086c170
lea eax, [esp + 0x13dc]
push eax
lea ecx, [esp + 0x170]
call fcn.0086baa0
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x170]
call fcn.0086bcf0
push 1
push 0x100d5cd0
lea ecx, [esp + 0xdc]
push dword [eax + 4]
push dword [eax]
call fcn.0086b8b0
mov ecx, eax
call fcn.0086b980
mov ebp, 0x3a
test eax, eax
je 0x7f5acb
mov eax, dword [0x100d5ce4]
lea ecx, [esp + 0x16c]
movq xmm0, qword [0x100d5cdc]
mov dword [esp + 0x6c], eax
mov ax, word [0x100d5ce8]
movq qword [esp + 0x64], xmm0
mov word [esp + 0x70], ax
call fcn.0086c110
cmp ax, 6
jb 0x7f5acb
push 5
lea ecx, [esp + 0x170]
call fcn.0086c0f0
cmp bp, ax
jne 0x7f5acb
push 4
lea ecx, [esp + 0x170]
call fcn.0086c0f0
cmp dword [ebx + 4], 0
mov word [esp + 0x6c], ax
je 0x7f5acb
cmp dword [0x100fd614], 0
je 0x7f5acb
push 4
lea ecx, [esp + 0x170]
call fcn.0086c0f0
movzx ecx, ax
mov eax, dword [0x100fd5f8]
movzx edi, word [eax + ecx*2]
sub edi, 0x41
cmp edi, 0x20
jae 0x7f5acb
mov esi, dword [0x100fd35c]
lea eax, [esp + 0x374]
push 0
push 0x24
push eax
push 0x17
call dword [0x100d4258]
push eax
mov eax, dword [esi + 0x137c]
lea ecx, [esi + 0x137c]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x7f5acb
mov al, byte [esp + edi + 0x378]
test al, al
je 0x7f58f7
cmp al, 1
je 0x7f58f7
cmp al, 4
jne 0x7f5acb
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], edi
lea esi, [ebx + 0x40]
push eax
mov ecx, esi
call fcn.007f5050
test eax, eax
jne 0x7f68fa
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.007f4e10
push edi
mov ecx, esi
call fcn.007f5370
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x14]
push eax
push ebp
lea eax, [esp + 0x74]
push eax
call dword [0x100fd614]
mov ebx, eax
mov dword [esp + 0x38], edi
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.0084c260
cmp ebx, 0xea
jne 0x7f59ba
mov dword [esp + 0x38], edi
jmp 0x7f5970
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x2c]
add eax, 0x100
push eax
mov dword [esp + 0x18], eax
call fcn.007f4e10
push edi
mov ecx, esi
call fcn.007f5370
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x14]
push eax
push ebp
lea eax, [esp + 0x74]
push eax
call dword [0x100fd614]
mov ebx, eax
mov ecx, esi
lea eax, [esp + 0x38]
push eax
call fcn.0084c260
cmp ebx, 0xea
je 0x7f5970
test ebx, ebx
jne 0x7f5abe
push 0x100d5cec
lea ecx, [esp + 0x90]
call fcn.007ecf40
lea eax, [ebp + 2]
push eax
lea ecx, [esp + 0x90]
call fcn.007f4780
push dword [esp + 0x8c]
lea ecx, [esp + 0xe8]
call fcn.0086b870
mov ecx, eax
call fcn.0086b810
mov esi, dword [esp + 0x13e8]
mov ecx, dword [esp + 0x18]
push esi
push dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.007f5630
mov ecx, esi
call fcn.0086b810
cmp word [eax], bx
jbe 0x7f5a50
mov ecx, esi
call fcn.0086c110
dec ax
mov ecx, esi
movzx eax, ax
push eax
call fcn.0086c0f0
mov ecx, 0x5c
cmp cx, ax
je 0x7f5a50
push 0x100d59a0
mov ecx, esi
call fcn.0086be30
lea ecx, [esp + 0x16c]
call fcn.0086c110
cmp ax, 7
jbe 0x7f5aa4
lea ecx, [esp + 0x16c]
call fcn.0086c110
sub ax, 7
lea ecx, [esp + 0x16c]
movzx eax, ax
push eax
call fcn.0086b810
lea ecx, [esp + 0xf8]
mov eax, dword [eax + 4]
add eax, 0xe
push eax
call fcn.0086b890
mov ecx, eax
call fcn.0086b810
push eax
mov ecx, esi
call fcn.0086bdc0
lea ecx, [esp + 0x8c]
call fcn.007ed520
lea ecx, [esp + 0x2c]
call fcn.007ed3e0
jmp 0x7f691a
lea ecx, [esp + 0x2c]
call fcn.007ed3e0
mov ebx, dword [esp + 0x18]
lea edi, [ebx + 0x18]
push edi
lea ecx, [esp + 0x40]
mov dword [esp + 0x28], edi
call fcn.00837d70
lea eax, [esp + 0x58]
mov ecx, edi
push eax
call fcn.007f5280
mov esi, dword [esp + 0x58]
cmp esi, dword [edi + 4]
jne 0x7f5af9
xor ebx, ebx
test esi, esi
je 0x7f5b11
jmp 0x7f5b0b
mov ebx, esi
test esi, esi
je 0x7f5b11
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test ebx, ebx
je 0x7f5c44
lea esp, [esp]
lea ebp, [ebx + 0x210]
test ebx, ebx
je 0x7f5b30
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push ebx
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.007f7830
mov esi, dword [esp + 0x34]
cmp esi, dword [edi + 4]
jne 0x7f5b58
xor edi, edi
test esi, esi
je 0x7f5b72
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x34], edi
jmp 0x7f5b72
mov edi, esi
test esi, esi
je 0x7f5b72
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x34], 0
test ebx, ebx
je 0x7f5b7c
mov eax, dword [ebx]
push ebx
call dword [eax + 0xc]
mov ebx, edi
test edi, edi
je 0x7f5b88
mov eax, dword [edi]
push edi
call dword [eax + 0xc]
push ebp
lea ecx, [esp + 0x7ac]
call fcn.0086baa0
push 1
lea ecx, [esp + 0x170]
call fcn.0086b810
push eax
lea ecx, [esp + 0x7b0]
call fcn.0086b810
push eax
call dword [0x100fd3e4]
test eax, eax
je 0x7f5e6e
lea ecx, [esp + 0x7a8]
call fcn.0086b810
push eax
lea ecx, [esp + 0x9b4]
call fcn.0086baa0
push 0x100d59a0
lea ecx, [esp + 0x9b4]
call fcn.0086be30
push 1
lea ecx, [esp + 0x9b4]
call fcn.0086b810
push eax
lea ecx, [esp + 0x174]
call fcn.0086b810
push eax
lea ecx, [esp + 0x160]
call fcn.0086b850
mov ecx, eax
call fcn.0086b920
test eax, eax
jne 0x7f5ddd
lea ecx, [esp + 0x9b0]
call fcn.0086bc10
lea ecx, [esp + 0x7a8]
call fcn.0086bc10
test edi, edi
mov edi, dword [esp + 0x24]
jne 0x7f5b20
cmp byte [esp + 0x40], 0
mov ebp, dword [0x100d4278]
je 0x7f5c8a
mov esi, dword [esp + 0x3c]
dec dword [esi + 0x10]
jne 0x7f5c8a
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
call dword [0x100d4284]
add esi, 0xc
cmp dword [esi], 0
jle 0x7f5c8a
push esi
call dword [0x100d4288]
mov eax, dword [esp + 0x3c]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call ebp
mov ebx, dword [esp + 0x18]
cmp dword [ebx + 4], 0
je 0x7f5d30
push 0x100d5cfc
lea ecx, [esp + 0x78]
call fcn.0086b870
push 1
lea ecx, [esp + 0x78]
call fcn.0086b810
push eax
lea ecx, [esp + 0x174]
call fcn.0086b810
push eax
lea ecx, [esp + 0x150]
call fcn.0086b850
mov ecx, eax
call fcn.0086b920
test eax, eax
je 0x7f5d30
lea ecx, [esp + 0x74]
call fcn.0086c110
movzx esi, ax
lea ecx, [esp + 0x16c]
add esi, esi
call fcn.0086b810
lea ecx, [esp + 0x16c]
mov edi, dword [eax + 4]
add edi, esi
call fcn.0086c110
movzx esi, ax
lea ecx, [esp + 0x16c]
add esi, esi
call fcn.0086b810
mov eax, dword [eax + 4]
add eax, esi
cmp edi, eax
je 0x7f5d30
mov edx, 0x5c
cmp dx, word [edi]
je 0x7f5eef
add edi, 2
cmp edi, eax
jne 0x7f5d20
lea ecx, [esp + 0x16c]
call fcn.0086b810
xor esi, esi
mov edi, dword [eax + 4]
mov eax, 0x5c
cmp ax, word [edi]
je 0x7f5d63
lea ecx, [esp + 0x16c]
call fcn.0086b810
movzx ecx, si
add ecx, ecx
movzx eax, word [eax]
cmp ecx, eax
jne 0x7f5db8
lea ecx, [esp + 0xbb8]
call fcn.0086bc00
lea eax, [esp + 0xbb8]
push eax
push esi
lea ecx, [esp + 0x174]
call fcn.0086b810
lea ecx, [esp + 0x12c]
mov eax, dword [eax + 4]
push eax
call fcn.0086b890
mov ecx, eax
call fcn.0086b810
push eax
call fcn.00852cb0
add esp, 8
test eax, eax
je 0x7f5f93
lea ecx, [esp + 0xbb8]
call fcn.0086bc10
lea ecx, [esp + 0x16c]
call fcn.0086b810
movzx ecx, si
add ecx, ecx
movzx eax, word [eax]
cmp ecx, eax
je 0x7f6012
inc esi
add edi, 2
jmp 0x7f5d41
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x7a8]
push eax
call fcn.0086bc30
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [esp + 0x9b0]
mov ax, word [eax]
shr ax, 1
movzx esi, ax
call fcn.0086c110
movzx edi, ax
lea ecx, [esp + 0x9b0]
add edi, edi
call fcn.0086c110
sub si, ax
lea ecx, [esp + 0x16c]
movzx eax, si
push eax
call fcn.0086b810
lea ecx, [esp + 0xc0]
mov eax, dword [eax + 4]
add eax, edi
push eax
call fcn.0086b890
mov ecx, eax
call fcn.0086b810
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.0086bc90
lea ecx, [esp + 0x9b0]
call fcn.0086bc10
jmp 0x7f5e8e
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x7a8]
push eax
call fcn.0086bc30
mov ecx, dword [esp + 0x13e8]
call fcn.0086c030
lea ecx, [esp + 0x7a8]
call fcn.0086bc10
cmp byte [esp + 0x40], 0
je 0x7f691a
mov esi, dword [esp + 0x3c]
dec dword [esi + 0x10]
jne 0x7f691a
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
call dword [0x100d4284]
add esi, 0xc
cmp dword [esi], 0
jle 0x7f691a
push esi
call dword [0x100d4288]
mov eax, dword [esp + 0x3c]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call dword [0x100d4278]
jmp 0x7f691a
add edi, 2
cmp edi, eax
je 0x7f5d30
mov esi, 0x3a
nop
movzx ecx, word [edi]
cmp dx, cx
je 0x7f5d30
cmp si, cx
je 0x7f5f1d
add edi, 2
cmp edi, eax
jne 0x7f5f00
jmp 0x7f5d30
cmp edi, eax
je 0x7f5d30
cmp dx, word [edi]
je 0x7f5f36
add edi, 2
cmp edi, eax
jne 0x7f5f25
jmp 0x7f5d30
push 0x100d5cec
lea ecx, [esp + 0xfcc]
call fcn.0086bb00
push edi
lea ecx, [esp + 0xfcc]
call fcn.0086be30
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xfcc]
call fcn.0086bcf0
push dword [esp + 0x13e8]
mov ecx, ebx
push dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.007f5630
lea ecx, [esp + 0xfc8]
call fcn.0086bc10
jmp 0x7f691a
lea eax, [esp + 0xbb8]
push eax
lea ecx, [esp + 0xdc4]
call fcn.0086baa0
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [esp + 0xdc]
mov ax, word [eax]
shr ax, 1
sub ax, si
movzx eax, ax
push eax
push edi
call fcn.0086b890
mov ecx, eax
call fcn.0086b810
push eax
lea ecx, [esp + 0xdc4]
call fcn.0086bdc0
lea eax, [esp + 0xdc0]
push eax
lea ecx, [esp + 0x170]
call fcn.0086bc30
lea ecx, [esp + 0xdc0]
call fcn.0086bc10
lea ecx, [esp + 0xbb8]
call fcn.0086bc10
jmp 0x7f5d30
lea esi, [ebx + 0x24]
mov dword [esp + 0x44], esi
call dword [0x100d427c]
mov edi, eax
lea ecx, [esi + 8]
cmp edi, dword [ecx]
je 0x7f6047
cmp dword [ecx], 0
jne 0x7f6070
push 0
push edi
push ecx
call dword [0x100d4280]
test eax, eax
sete al
test al, al
je 0x7f6070
mov dword [esi + 0x10], 0
inc dword [esi + 0x10]
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.007f5280
mov esi, dword [esp + 0x4c]
cmp esi, dword [edi + 4]
jne 0x7f6084
xor ebx, ebx
test esi, esi
je 0x7f609c
jmp 0x7f6096
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.007eaa70
test al, al
jne 0x7f6047
mov byte [esp + 0x13], al
jmp 0x7f604f
mov ebx, esi
test esi, esi
je 0x7f609c
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test ebx, ebx
je 0x7f61dc
lea ebp, [ebx + 0x210]
test ebx, ebx
je 0x7f60b4
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push ebx
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.007f7830
mov esi, dword [esp + 0x1c]
cmp esi, dword [edi + 4]
jne 0x7f60dc
xor edi, edi
test esi, esi
je 0x7f60f6
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x1c], edi
jmp 0x7f60f6
mov edi, esi
test esi, esi
je 0x7f60f6
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x1c], 0
test ebx, ebx
je 0x7f6100
mov eax, dword [ebx]
push ebx
call dword [eax + 0xc]
mov ebx, edi
test edi, edi
je 0x7f610c
mov eax, dword [edi]
push edi
call dword [eax + 0xc]
push ebp
lea ecx, [esp + 0x39c]
call fcn.0086baa0
push 1
lea ecx, [esp + 0x170]
call fcn.0086b810
push eax
lea ecx, [esp + 0x3a0]
call fcn.0086b810
push eax
call dword [0x100fd3e4]
test eax, eax
je 0x7f63f9
lea ecx, [esp + 0x398]
call fcn.0086b810
push eax
lea ecx, [esp + 0x5a4]
call fcn.0086baa0
push 0x100d59a0
lea ecx, [esp + 0x5a4]
call fcn.0086be30
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x170]
call fcn.0086bcf0
push 1
lea ecx, [esp + 0x5a4]
mov esi, eax
call fcn.0086b810
push eax
push dword [esi + 4]
lea ecx, [esp + 0xf8]
push dword [esi]
call fcn.0086b8b0
mov ecx, eax
call fcn.0086b920
test eax, eax
jne 0x7f6368
lea ecx, [esp + 0x5a0]
call fcn.0086bc10
lea ecx, [esp + 0x398]
call fcn.0086bc10
test edi, edi
mov edi, dword [esp + 0x24]
jne 0x7f60a4
mov ebp, dword [0x100d4278]
cmp byte [esp + 0x13], 0
je 0x7f621e
mov esi, dword [esp + 0x44]
dec dword [esi + 0x10]
jne 0x7f621e
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
mov eax, dword [0x100d4284]
call eax
add esi, 0xc
cmp dword [esi], 0
jle 0x7f621e
mov eax, dword [0x100d4288]
push esi
call eax
mov eax, dword [esp + 0x44]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call ebp
push 0
push 0x40
lea ecx, [esp + 0x174]
call fcn.0086b810
push eax
push 0
lea ecx, [esp + 0x114]
call fcn.0086b820
mov eax, dword [esp + 0x18]
cmp dword [eax + 4], 0
je 0x7f657a
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [esp + 0x16c]
mov ax, word [eax]
shr ax, 1
movzx edi, ax
mov dword [esp + 0x18], edi
movzx ebp, di
call fcn.0086b810
movzx ecx, di
xor esi, esi
mov dword [esp + 0x14], esi
mov eax, dword [eax + 4]
lea ebx, [eax + ecx*2]
mov eax, 0x5c
cmp ax, word [ebx]
je 0x7f6295
cmp bp, di
jne 0x7f6540
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [ebp*2]
push 0x21
push 3
mov word [eax], cx
lea ecx, [esp + 0x104]
mov esi, dword [0x100fd35c]
mov dword [esp + 0x28], 0
call fcn.0086b7e0
mov ecx, eax
call fcn.0086b810
push eax
lea ecx, [esp + 0x110]
call fcn.0086b810
push eax
push 0x100000
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0x5dc]
lea ecx, [esi + 0x5dc]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x7f651a
mov edi, 0x400
xor esi, esi
test edi, edi
je 0x7f6317
push edi
call fcn.008ae760
add esp, 4
mov esi, eax
mov ecx, dword [0x100fd35c]
lea eax, [esp + 0x98]
push eax
push edi
add ecx, 0x107c
push esi
push 1
push dword [esp + 0x30]
mov eax, dword [ecx]
call dword [eax + 0x24]
call eax
cmp eax, 0xc0000004
je 0x7f6353
cmp eax, 0x80000005
je 0x7f6353
cmp eax, 0xc0000023
jne 0x7f647c
add edi, 0x100
test esi, esi
je 0x7f6306
push esi
call fcn.008ae750
add esp, 4
jmp 0x7f6306
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x398]
push eax
call fcn.0086bc30
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [esp + 0x5a0]
mov ax, word [eax]
shr ax, 1
movzx esi, ax
call fcn.0086c110
movzx edi, ax
lea ecx, [esp + 0x5a0]
add edi, edi
call fcn.0086c110
sub si, ax
lea ecx, [esp + 0x16c]
movzx eax, si
push eax
call fcn.0086b810
lea ecx, [esp + 0x140]
mov eax, dword [eax + 4]
add eax, edi
push eax
call fcn.0086b890
mov ecx, eax
call fcn.0086b810
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.0086bc90
lea ecx, [esp + 0x5a0]
call fcn.0086bc10
jmp 0x7f6419
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x398]
push eax
call fcn.0086bc30
mov ecx, dword [esp + 0x13e8]
call fcn.0086c030
lea ecx, [esp + 0x398]
call fcn.0086bc10
cmp byte [esp + 0x13], 0
je 0x7f691a
mov esi, dword [esp + 0x44]
dec dword [esi + 0x10]
jne 0x7f691a
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
mov eax, dword [0x100d4284]
call eax
add esi, 0xc
cmp dword [esi], 0
jle 0x7f691a
mov eax, dword [0x100d4288]
push esi
call eax
mov eax, dword [esp + 0x44]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call dword [0x100d4278]
jmp 0x7f691a
test eax, eax
jne 0x7f6509
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x11d0]
sub eax, ebp
push eax
push ebx
call fcn.0086bb80
push dword [esi + 4]
lea ecx, [esp + 0x170]
push dword [esi]
call fcn.0086bc90
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x11d4]
call fcn.0086bcf0
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x170]
call fcn.0086bdc0
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [esp + 0x11d0]
mov dword [esp + 0x14], 1
mov ax, word [eax]
shr ax, 1
movzx edi, ax
mov dword [esp + 0x18], edi
call fcn.0086bc10
push esi
call fcn.008ae750
add esp, 4
jmp 0x7f651a
test esi, esi
je 0x7f6516
push esi
call fcn.008ae750
add esp, 4
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x7f653c
cmp eax, 0xffffffff
je 0x7f653c
push eax
call fcn.008a3c40
mov ecx, dword [esp + 0x20]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x16c]
call fcn.0086b810
cmp dword [eax + 4], ebx
je 0x7f6564
add ebp, 0xffff
sub ebx, 2
test esi, esi
je 0x7f6282
jmp 0x7f657a
test esi, esi
jne 0x7f657a
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [edi + edi]
mov word [eax], cx
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [esp + 0x16c]
xor edi, edi
mov ebx, dword [eax + 4]
call fcn.0086b810
mov esi, 0x5c
mov ax, word [eax]
shr ax, 1
movzx ebp, ax
cmp si, word [ebx]
je 0x7f65b3
cmp di, bp
jne 0x7f66bc
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [edi + edi]
mov dword [esp + 0x1c], 0
mov word [eax], cx
cmp si, word [ebx]
jne 0x7f65ea
lea ecx, [esp + 0x16c]
call fcn.0086b810
mov dword [esp + 0x1c], 1
add word [eax], 2
mov esi, dword [0x100fd35c]
lea ecx, [esp + 0x14c]
push 0x21
push 3
mov dword [esp + 0x30], 0
call fcn.0086b7e0
mov ecx, eax
call fcn.0086b810
push eax
lea ecx, [esp + 0x110]
call fcn.0086b810
push eax
push 0x100001
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esi + 0x5dc]
lea ecx, [esi + 0x5dc]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x7f66a5
push 0x400
call fcn.008ae760
mov esi, dword [0x100fd35c]
lea ecx, [esp + 0x120]
add esp, 4
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x400
push 1
push 0
push 0
push 3
push 0x400
push eax
call fcn.0086b7e0
mov ecx, eax
call fcn.0086b810
push eax
mov eax, dword [esi + 0x9fc]
lea ecx, [esi + 0x9fc]
push 0
push 0
push 0
push dword [esp + 0x50]
call dword [eax + 0x24]
call eax
test eax, eax
je 0x7f66c5
lea ecx, [esp + 0x50]
call fcn.007ed3e0
lea ecx, [esp + 0x28]
call fcn.007f4e60
cmp di, bp
je 0x7f6761
mov esi, 0x5c
inc edi
add ebx, 2
jmp 0x7f65a5
mov ebx, dword [esp + 0x13e4]
lea eax, [esp + 0x16c]
push eax
mov ecx, ebx
call fcn.0086bc30
cmp dword [esp + 0x1c], 0
je 0x7f66f1
mov ecx, ebx
call fcn.0086b810
mov ecx, 0xfffe
add word [eax], cx
cmp bp, di
jne 0x7f6709
push 0x100d53bc
lea ecx, [esp + 0x160]
call fcn.0086b870
jmp 0x7f6732
sub ebp, edi
lea ecx, [esp + 0x16c]
dec ebp
push ebp
call fcn.0086b810
movzx ecx, di
mov eax, dword [eax + 4]
lea eax, [eax + ecx*2]
add eax, 2
lea ecx, [esp + 0x168]
push eax
call fcn.0086b890
mov ecx, eax
call fcn.0086b810
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.0086bc90
lea ecx, [esp + 0x50]
call fcn.007ed3e0
lea ecx, [esp + 0x28]
call fcn.007f4e60
jmp 0x7f68de
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [ebp*2]
push 1
push 0x100d5cd0
mov word [eax], cx
lea ecx, [esp + 0x174]
call fcn.0086b810
push eax
lea ecx, [esp + 0x140]
call fcn.0086b850
mov ecx, eax
call fcn.0086b980
test eax, eax
je 0x7f68fa
mov eax, dword [0x100d5ce4]
lea ecx, [esp + 0x16c]
movq xmm0, qword [0x100d5cdc]
mov dword [esp + 0x84], eax
movzx eax, word [0x100d5ce8]
movq qword [esp + 0x7c], xmm0
mov word [esp + 0x88], ax
call fcn.0086b810
mov ecx, 0xfffe
movzx eax, word [eax]
and ax, cx
cmp ax, 0xc
jb 0x7f68fa
lea ecx, [esp + 0x16c]
call fcn.0086b810
mov ecx, 0x3a
mov eax, dword [eax + 4]
cmp cx, word [eax + 0xa]
jne 0x7f68fa
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [esp + 0xac]
mov eax, dword [eax + 4]
mov ax, word [eax + 8]
mov word [esp + 0x84], ax
lea eax, [esp + 0x7c]
push eax
call fcn.0086b870
mov ecx, eax
call fcn.0086b810
mov ebx, dword [esp + 0x13e4]
mov ecx, ebx
push dword [eax + 4]
push dword [eax]
call fcn.0086bc90
lea ecx, [esp + 0x16c]
mov edi, 6
call fcn.0086b810
cmp word [eax], 0xc
jne 0x7f687e
push 0x100d53bc
lea ecx, [esp + 0xb8]
call fcn.0086b870
jmp 0x7f68c6
lea ecx, [esp + 0x16c]
call fcn.0086b810
mov esi, dword [eax + 4]
mov eax, 0x5c
add esi, 0xc
cmp ax, word [esi]
jne 0x7f68a0
add esi, 2
lea edi, [eax - 0x55]
lea ecx, [esp + 0x16c]
call fcn.0086b810
lea ecx, [esp + 0xc4]
mov ax, word [eax]
shr ax, 1
sub ax, di
movzx eax, ax
push eax
push esi
call fcn.0086b890
mov ecx, eax
call fcn.0086b810
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.0086bc90
sub esp, 0x208
mov ecx, esp
push ebx
call fcn.0086baa0
mov ecx, dword [esp + 0x22c]
call fcn.007f53a0
jmp 0x7f691a
mov ecx, dword [esp + 0x13e4]
call fcn.0086c030
mov ecx, dword [esp + 0x13e8]
lea eax, [esp + 0x16c]
push eax
call fcn.0086bc30
lea ecx, [esp + 0x16c]
call fcn.0086bc10
lea ecx, [esp + 0x60]
call fcn.0086c190
push dword [0x100fd75c]
call dword [0x100d4264]
dec eax
push eax
push dword [0x100fd75c]
call dword [0x100d4260]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13c8
ret 0x10