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

Disassembly:
sub esp, 0x30
push ebx
mov ebx, dword [esp + 0x38]
push ebp
push esi
mov esi, dword [esp + 0x48]
mov eax, dword [ebx]
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], eax
push edi
test esi, esi
je 0x10080e45
cmp dword [ebx + 0x108], eax
jne 0x10080e45
cmp dword [esi + 0x40], eax
jne 0x10080e45
mov ebp, dword [esp + 0x48]
push ebp
push ebx
call fcn.10059910
add esp, 8
test eax, eax
jne 0x10080e45
cmp dword [ebp + 0x38], eax
jne 0x10080e45
cmp dword [esp + 0x50], 0xb
jne 0x10080c65
cmp word [ebp + 0x28], ax
jl 0x10080c5d
movzx eax, byte [ebp + 0x30]
mov dword [esp + 0x50], eax
cmp eax, 0xb
jne 0x10080c65
mov dword [esp + 0x50], 2
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 1
jne 0x10080e45
cmp dword [ecx + 0x1c], 0
jne 0x10080e45
cmp dword [esi + 0x24], 0
jne 0x10080e45
cmp dword [esi + 0x30], 0
jne 0x10080e45
cmp dword [esi + 0x28], 0
jne 0x10080e45
cmp dword [esi + 0x3c], 0
jne 0x10080e45
cmp dword [esi + 0x34], 0
jne 0x10080e45
test byte [esi + 8], 1
jne 0x10080e45
mov eax, dword [esi]
cmp dword [eax], 1
jne 0x10080e45
mov eax, dword [eax + 4]
cmp byte [eax], 0xac
jne 0x10080e45
lea eax, [ecx + 8]
push eax
push 0
push ebx
call fcn.1004cde0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x10], edx
test edx, edx
je 0x10080e45
mov eax, dword [edx + 0x1c]
cmp eax, dword [ebp + 0x1c]
jne 0x10080cff
mov eax, dword [edx + 0x48]
cmp eax, dword [ebp + 0x48]
je 0x10080e45
mov ecx, dword [ebp + 0x24]
mov eax, dword [edx + 0x24]
shr ecx, 5
shr eax, 5
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x10080e45
cmp dword [edx + 0x38], 0
jne 0x10080e45
cmp dword [edx + 0xc], 0
jne 0x10080e45
movzx ecx, word [ebp + 0x2a]
cmp cx, word [edx + 0x2a]
jne 0x10080e45
mov ax, word [ebp + 0x28]
cmp ax, word [edx + 0x28]
jne 0x10080e45
movsx eax, cx
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x30], eax
test eax, eax
jle 0x10080e0e
mov esi, dword [ebp + 4]
mov edi, dword [edx + 4]
add esi, 8
add edi, 8
jmp 0x10080d70
mov al, byte [esi + 5]
cmp al, byte [edi + 5]
jne 0x10080e45
push dword [edi]
push dword [esi]
call fcn.10010d20
add esp, 8
test eax, eax
jne 0x10080e45
cmp byte [esi + 4], al
je 0x10080d9e
cmp byte [edi + 4], al
je 0x10080e45
test ebx, ebx
jle 0x10080df5
mov edx, dword [esi - 4]
xor ecx, ecx
mov ebx, dword [edi - 4]
test edx, edx
sete cl
xor eax, eax
test ebx, ebx
sete al
cmp ecx, eax
jne 0x10080e45
test edx, edx
je 0x10080df1
mov ecx, dword [ebx + 8]
mov eax, dword [edx + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10080de8
test dl, dl
je 0x10080de4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10080de8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10080dc8
xor eax, eax
jmp 0x10080ded
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10080e45
mov ebx, dword [esp + 0x4c]
inc ebx
add esi, 0x10
add edi, 0x10
mov dword [esp + 0x4c], ebx
cmp ebx, dword [esp + 0x30]
jl 0x10080d70
mov edx, dword [esp + 0x10]
mov edi, dword [ebp + 8]
test edi, edi
je 0x10080e85
cmp byte [edi + 0x36], 0
je 0x10080e23
mov dword [esp + 0x2c], 1
mov esi, dword [edx + 8]
test esi, esi
je 0x10080e45
lea ebx, [ebx]
push esi
push edi
call fcn.10080b00
add esp, 8
test eax, eax
jne 0x10080e4f
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x10080e30
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [esi + 0x2c]
mov edx, dword [esp + 0x10]
cmp eax, dword [edi + 0x2c]
jne 0x10080e7e
mov eax, dword [edx + 0x48]
cmp eax, dword [ebp + 0x48]
jne 0x10080e7e
mov eax, dword [0x1009411c]
test eax, eax
je 0x10080e45
push 0x19b
call eax
add esp, 4
test eax, eax
je 0x10080e45
mov edx, dword [esp + 0x10]
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x10080e15
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x10080e9e
push 0xffffffffffffffff
push eax
push dword [edx + 0x18]
call fcn.10043b80
add esp, 0xc
test eax, eax
jne 0x10080e45
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x34], eax
mov eax, ecx
and eax, 0x4000
or eax, 0
je 0x10080ebe
cmp dword [ebp + 0x10], 0
jne 0x10080e45
and ecx, 0x80
or ecx, 0
jne 0x10080e45
mov esi, dword [esp + 0x10]
push dword [esi + 0x48]
push edx
call fcn.10055670
mov esi, dword [esp + 0x4c]
mov ebx, eax
push esi
mov dword [esp + 0x34], ebx
call fcn.100495a0
push ebx
push esi
mov edi, eax
call fcn.1003bfe0
mov ecx, esi
push ebp
push dword [esp + 0x6c]
mov ebx, dword [ecx + 0x28]
push ecx
mov dword [esp + 0x44], ebx
lea esi, [ebx + 1]
lea eax, [esi + 1]
mov dword [esp + 0x40], esi
mov dword [ecx + 0x28], eax
call fcn.10014010
mov edx, dword [esp + 0x64]
push edx
mov dword [esp + 0x54], eax
call fcn.10048c80
push edx
mov dword [esp + 0x44], eax
call fcn.10048c80
push 0x6d
push ebp
push dword [esp + 0x84]
mov dword [esp + 0x48], eax
push esi
push edx
call fcn.1004d870
mov eax, dword [esp + 0x54]
add esp, 0x3c
test byte [eax + 0x18], 4
jne 0x10080f96
cmp word [ebp + 0x28], 0
jge 0x10080f5b
cmp dword [ebp + 8], 0
jne 0x10080f70
cmp dword [esp + 0x2c], 0
jne 0x10080f70
mov eax, dword [esp + 0x50]
cmp eax, 2
je 0x10080f96
cmp eax, 1
je 0x10080f96
push 0
push esi
push 0x24
push edi
call fcn.1005c490
push 0xb
push edi
mov esi, eax
call fcn.1005c3e0
push esi
push edi
mov dword [esp + 0x5c], eax
call fcn.10064d70
add esp, 0x20
lea esi, [ebx + 1]
mov eax, dword [esp + 0x10]
test byte [eax + 0x24], 0x20
jne 0x100810da
push 0x6c
push eax
push dword [esp + 0x30]
push ebx
push dword [esp + 0x54]
call fcn.1004d870
push 0
push ebx
push 0x24
push edi
call fcn.1005c490
add esp, 0x24
mov dword [esp + 0x38], eax
cmp word [ebp + 0x28], 0
jl 0x10081021
push dword [esp + 0x14]
push ebx
push 0x80
push edi
call fcn.1005c490
push dword [esp + 0x24]
mov dword [esp + 0x60], eax
push 0
push esi
push 0x1f
push edi
call fcn.1005c4f0
push ebp
push dword [esp + 0x78]
mov esi, eax
push dword [esp + 0x70]
call fcn.100547a0
push esi
push edi
call fcn.10064d70
push dword [esp + 0x4c]
push dword [esp + 0x6c]
push dword [esp + 0x84]
call fcn.100140d0
add esp, 0x44
jmp 0x10081051
cmp dword [ebp + 8], 0
jne 0x1008103a
mov eax, dword [esp + 0x18]
test byte [eax + 0x18], 8
jne 0x1008103a
push dword [esp + 0x14]
push esi
push 0x79
jmp 0x10081044
push dword [esp + 0x14]
push ebx
push 0x80
push edi
call fcn.1005c490
mov dword [esp + 0x5c], eax
add esp, 0x10
push 1
push dword [esp + 0x20]
push ebx
push 0x7f
push edi
call fcn.1005c4f0
mov eax, dword [esp + 0x2c]
lea esi, [ebx + 1]
add esp, 0x14
test byte [eax + 0x18], 4
je 0x10081089
push esi
push 0x82
push edi
call fcn.1005c430
add esp, 0xc
mov dword [esp + 0x2c], 0x39
jmp 0x10081091
mov dword [esp + 0x2c], 0x29
push 0xfffffffffffffffa
push ebp
push dword [esp + 0x1c]
push dword [esp + 0x28]
push esi
push 0x7a
push edi
call fcn.1005c550
push dword [esp + 0x48]
push edi
call fcn.1005ca00
push dword [esp + 0x70]
push ebx
push 5
push edi
call fcn.1005c490
push 0
push ebx
push 0x75
push edi
call fcn.1005c490
add esp, 0x44
push 0
push esi
push 0x75
push edi
call fcn.1005c490
add esp, 0x10
jmp 0x10081108
push dword [ebp]
mov ebx, dword [esp + 0x48]
push 1
push dword [ebp + 0x1c]
push dword [esp + 0x60]
push ebx
call fcn.100595c0
mov eax, dword [esp + 0x24]
push dword [eax]
push 0
push dword [eax + 0x1c]
push dword [esp + 0x48]
push ebx
call fcn.100595c0
add esp, 0x28
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x10081280
mov esi, dword [esp + 0x10]
xor bl, bl
mov byte [esp + 0x4c], bl
mov esi, dword [esi + 8]
test esi, esi
je 0x10081139
push esi
push ebp
call fcn.10080b00
add esp, 8
test eax, eax
jne 0x10081139
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x10081124
push dword [esp + 0x28]
push dword [esi + 0x2c]
push dword [esp + 0x2c]
push 0x6c
push edi
call fcn.1005c4f0
push esi
push dword [esp + 0x5c]
call fcn.10067660
push dword [esp + 0x70]
push dword [ebp + 0x2c]
push dword [esp + 0x44]
push 0x6d
push edi
call fcn.1005c4f0
push ebp
push dword [esp + 0x78]
call fcn.10067660
push 1
push edi
call fcn.1005ca00
add esp, 0x40
push 0
push dword [esp + 0x28]
push 0x24
push edi
call fcn.1005c490
push 1
push dword [esp + 0x30]
mov dword [esp + 0x48], eax
push dword [esp + 0x3c]
push 0x7f
push edi
call fcn.1005c4f0
mov eax, dword [esp + 0x3c]
add esp, 0x24
test byte [eax + 0x18], 4
je 0x10081205
movzx ecx, word [esi + 0x34]
xor ebx, ebx
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x100811e4
mov esi, dword [esi + 0x20]
mov eax, dword [esi]
test eax, eax
je 0x100811e4
push eax
push 0x10087f40
call fcn.10059460
mov ecx, dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x100811e4
inc ebx
add esi, 4
cmp ebx, ecx
jl 0x100811c0
mov esi, dword [esp + 0x20]
cmp ebx, ecx
jne 0x100811ff
push esi
push 0x82
push edi
mov bl, 0x10
call fcn.1005c430
add esp, 0xc
jmp 0x10081209
mov bl, byte [esp + 0x4c]
jmp 0x10081209
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
test byte [eax + 0x24], 0x20
je 0x1008121f
mov eax, dword [ebp + 0x38]
and al, 3
cmp al, 2
jne 0x1008121f
or bl, 1
push dword [esp + 0x1c]
push esi
push 0x84
push edi
call fcn.1005c490
or bl, 8
movzx eax, bl
push eax
push edi
call fcn.1005ca00
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x3c]
inc eax
push eax
push ebx
push 5
push edi
call fcn.1005c490
push dword [esp + 0x58]
push edi
call fcn.10064d70
push 0
push ebx
push 0x75
push edi
call fcn.1005c490
add esp, 0x40
push 0
push esi
push 0x75
push edi
call fcn.1005c490
mov ebp, dword [ebp + 0x14]
add esp, 0x10
test ebp, ebp
jne 0x10081113
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10081292
push eax
push edi
call fcn.10064d70
add esp, 8
push dword [esp + 0x14]
mov ebx, dword [esp + 0x48]
push ebx
call fcn.10053a60
push dword [esp + 0x24]
push ebx
call fcn.10053a60
mov ebp, dword [esp + 0x4c]
add esp, 0x10
test ebp, ebp
je 0x100812ef
cmp dword [ebx + 0x70], 0
je 0x100812c4
push ebx
call fcn.10014100
add esp, 4
push 0
push 0
push 0x45
push edi
call fcn.1005c490
push ebp
push edi
call fcn.10064d70
push 0
push esi
push 0x75
push edi
call fcn.1005c490
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret