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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x210
push ebx
push ebp
push esi
push edi
mov ebp, edx
mov edi, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov ebx, ecx
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x491987
xor eax, eax
mov esi, ecx
add esi, edi
adc eax, edx
cmp eax, edx
jb 0x491d18
ja 0x49195b
cmp esi, edi
jbe 0x491d18
mov edi, dword [ebx + 0x40]
cmp eax, dword [edi + 0x7c]
ja 0x491d18
jb 0x491972
cmp esi, dword [edi + 0x78]
jae 0x491d18
mov eax, dword [ebp + 0x10]
push 2
push edx
push eax
push edi
call fcn.00484910
test eax, eax
jl 0x491d18
mov esi, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov edi, dword [ebx + 0x40]
mov ecx, esi
add ecx, 4
mov eax, edx
adc eax, 0
cmp eax, edx
jb 0x491d18
ja 0x4919ac
cmp ecx, esi
jbe 0x491d18
cmp eax, dword [edi + 0x7c]
ja 0x491d18
jb 0x4919c0
cmp ecx, dword [edi + 0x78]
jae 0x491d18
push 2
push edx
push esi
push edi
mov ecx, 4
call fcn.00484910
test eax, eax
jl 0x491d18
mov eax, dword [ebp + 8]
cmp eax, 1
jb 0x491cfa
cmp eax, 0x12
jae 0x491cfa
mov edx, dword [ebp + 4]
xor ecx, ecx
cmp eax, 7
mov eax, dword [ebp]
sete cl
lea ecx, [ecx*8 + 8]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0x40]
test byte [ecx + 0xbd], 1
jne 0x491a12
cdq
mov esi, eax
and esi, edx
cmp esi, 0xffffffff
jne 0x491a38
mov eax, 0xc0000024
xor edi, edi
mov dword [ebx + 0x110], eax
mov dword [ebx + 0x114], edi
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
jne 0x491a42
cmp edx, 0xffffffff
je 0x491a1b
push edx
push eax
lea esi, [ecx + 0xe4]
call fcn.0045b640
xor edi, edi
cmp eax, edi
je 0x491aa4
mov edx, dword [eax]
cmp edx, edi
je 0x491aa4
cmp byte [edx + 0x3c], 4
je 0x491a7c
mov eax, 0xc0000024
mov dword [ebx + 0x110], eax
mov dword [ebx + 0x114], edi
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x14]
and ecx, eax
cmp ecx, eax
je 0x491abf
mov eax, 0xc0000022
mov dword [ebx + 0x110], eax
mov dword [ebx + 0x114], edi
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xc0000008
mov dword [ebx + 0x110], eax
mov dword [ebx + 0x114], edi
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x110], edi
mov dword [ebx + 0x114], edi
mov eax, dword [ebp + 8]
dec eax
cmp eax, 0xb
ja case.0x491adf.4
movzx eax, byte [eax + 0x491d4c]
jmp dword [eax*4 + 0x491d38]
mov al, byte [ebx + 0x16]
xor edx, edx
cmp al, 4
sete dl
lea edx, [edx*8 + 0x24]
mov dword [esp + 0x10], edx
cmp dword [ebp + 0x18], edx
jb 0x491b55
mov ecx, dword [ebp + 0x10]
mov esi, 0x86c5dc
cmp al, 4
jne 0x491b26
mov eax, dword [ebp + 0x14]
add ecx, 0x10
adc eax, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x28]
jmp 0x491b31
mov dword [esp + 0x1c], edi
add ecx, 8
lea edi, [esp + 0x20]
mov dword [esp + 0x18], ecx
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x18]
push eax
mov eax, dword [ebp + 0x10]
push ecx
push eax
mov eax, dword [ebx + 0x24]
mov ecx, ebx
call eax
jmp 0x491cd7
mov dword [ebx + 0x110], 0xc0000023
jmp 0x491cd1
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov ecx, esi
or ecx, eax
mov dword [esp + 0x10], 0x48
je 0x491cd7
cmp dword [ebp + 0x18], 0x48
jb 0x491b55
add edx, 0x70
push 0x48
push edx
lea edx, [esp + 0x20]
push edx
call fcn.005186a0
add esp, 0xc
cmp byte [ebx + 0x16], 4
mov eax, esi
jne 0x491bb2
add dword [esp + 0x20], eax
mov ecx, dword [ebp + 0x14]
adc dword [esp + 0x24], ecx
add dword [esp + 0x30], eax
adc dword [esp + 0x34], ecx
jmp 0x491beb
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x30]
add eax, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov eax, dword [ebp + 0x14]
lea ecx, [esp + 0x18]
push ecx
push eax
mov eax, dword [ebx + 0x24]
push esi
mov edx, 0x48
mov ecx, ebx
call eax
jmp 0x491cd7
mov esi, 1
mov eax, 2
lea ecx, [esp + 0x6c]
jmp 0x491c20
mov dword [ecx + 4], edi
test byte [edx + eax + 0xb8], 0x40
je 0x491c43
mov dword [ecx], eax
movzx edi, byte [edx + eax + 0xb8]
and edi, 0xffffffbf
mov dword [ecx + 8], edi
inc esi
add ecx, 0xc
xor edi, edi
inc eax
cmp eax, 0x23
jbe 0x491c20
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
dec esi
lea edx, [esi + esi*2]
mov edi, eax
or edi, ecx
lea edx, [edx*4 + 4]
mov dword [esp + 0x10], edx
je 0x491cd7
cmp edx, dword [ebp + 0x18]
jbe 0x491c7f
mov dword [ebx + 0x110], 0xc0000023
mov dword [ebx + 0x114], 0
jmp 0x491cd7
mov dword [esp + 0x68], esi
lea esi, [esp + 0x68]
push esi
push ecx
push eax
mov eax, dword [ebx + 0x24]
mov ecx, ebx
call eax
jmp 0x491cd7
mov edx, 4
mov dword [esp + 0x10], edx
cmp dword [ebp + 0x18], edx
jne 0x491cb7
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push 0x53b658
push ecx
push eax
mov eax, dword [ebx + 0x24]
mov ecx, ebx
call eax
jmp 0x491cd7
mov dword [ebx + 0x110], 0xc0000004
jmp 0x491cd1
mov dword [ebx + 0x110], 0xc0000003
mov dword [esp + 0x10], edi
mov dword [ebx + 0x114], edi
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0x10]
push ecx
push edx
push eax
mov eax, dword [ebx + 0x24]
mov edx, 4
mov ecx, ebx
call eax
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x110], 0xc0000003
mov dword [ebx + 0x114], 0
xor al, al
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov dword [ebx + 0x110], 0xc0000005
mov dword [ebx + 0x114], 0
xor al, al
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret