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

Disassembly:
mov edx, edi
shr edx, 5
mov ecx, edi
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x19
xor ebx, ebx
mov bl, byte [eax + 0x1075700]
mov edx, 0xf
and edx, ebx
xor eax, eax
shr ebx, 4
add edi, edx
cmp ebx, 0
je 0x5686ff
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
mov ecx, 0x20
sub ecx, ebx
add edi, ebx
shr eax, cl
mov ecx, ebx
dec ebx
bt eax, ebx
jb 0x5686ff
mov edx, 1
shl edx, cl
dec edx
sub eax, edx
mov ebx, dword [esi + 0x100]
add eax, ebx
mov dword [esi + 0x100], eax
mov ecx, 0x40
lea edx, [esp + 4]
call 0x568989
mov edx, edi
shr edx, 5
mov ecx, edi
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x19
xor ebx, ebx
mov bl, byte [eax + 0x1075700]
mov edx, 0xf
and edx, ebx
xor eax, eax
shr ebx, 4
add edi, edx
cmp ebx, 0
je 0x56877a
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
mov ecx, 0x20
sub ecx, ebx
add edi, ebx
shr eax, cl
mov ecx, ebx
dec ebx
bt eax, ebx
jb 0x56877a
mov edx, 1
shl edx, cl
dec edx
sub eax, edx
mov ebx, dword [esi + 0x100]
add eax, ebx
mov dword [esi + 0x100], eax
mov ecx, 0x40
lea edx, [esp + 0x24]
call 0x568989
mov edx, edi
shr edx, 5
mov ecx, edi
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x19
xor ebx, ebx
mov bl, byte [eax + 0x1075700]
mov edx, 0xf
and edx, ebx
xor eax, eax
shr ebx, 4
add edi, edx
cmp ebx, 0
je 0x5687f5
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
mov ecx, 0x20
sub ecx, ebx
add edi, ebx
shr eax, cl
mov ecx, ebx
dec ebx
bt eax, ebx
jb 0x5687f5
mov edx, 1
shl edx, cl
dec edx
sub eax, edx
mov ebx, dword [esi + 0x100]
add eax, ebx
mov dword [esi + 0x100], eax
mov ecx, 0x40
lea edx, [esp + 0x204]
call 0x568989
mov edx, edi
shr edx, 5
mov ecx, edi
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x19
xor ebx, ebx
mov bl, byte [eax + 0x1075700]
mov edx, 0xf
and edx, ebx
xor eax, eax
shr ebx, 4
add edi, edx
cmp ebx, 0
je 0x568873
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
mov ecx, 0x20
sub ecx, ebx
add edi, ebx
shr eax, cl
mov ecx, ebx
dec ebx
bt eax, ebx
jb 0x568873
mov edx, 1
shl edx, cl
dec edx
sub eax, edx
mov ebx, dword [esi + 0x100]
add eax, ebx
mov dword [esi + 0x100], eax
mov ecx, 0x40
lea edx, [esp + 0x224]
call 0x568989
mov edx, edi
shr edx, 5
mov ecx, edi
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x18
xor ebx, ebx
mov bl, byte [eax + 0x1075780]
mov edx, 0xf
and edx, ebx
xor eax, eax
shr ebx, 4
add edi, edx
cmp ebx, 0
je 0x5688f1
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
mov ecx, 0x20
sub ecx, ebx
add edi, ebx
shr eax, cl
mov ecx, ebx
dec ebx
bt eax, ebx
jb 0x5688f1
mov edx, 1
shl edx, cl
dec edx
sub eax, edx
mov ebx, dword [esi + 0x104]
add eax, ebx
mov dword [esi + 0x104], eax
mov ecx, 0x20
lea edx, [esp + 0x404]
call 0x568989
mov edx, edi
shr edx, 5
mov ecx, edi
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x18
xor ebx, ebx
mov bl, byte [eax + 0x1075780]
mov edx, 0xf
and edx, ebx
xor eax, eax
shr ebx, 4
add edi, edx
cmp ebx, 0
je 0x56896f
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
mov ecx, 0x20
sub ecx, ebx
add edi, ebx
shr eax, cl
mov ecx, ebx
dec ebx
bt eax, ebx
jb 0x56896f
mov edx, 1
shl edx, cl
dec edx
sub eax, edx
mov ebx, dword [esi + 0x108]
add eax, ebx
mov dword [esi + 0x108], eax
mov ecx, 0x20
lea edx, [esp + 0x504]
push ecx
push edx
sub esp, 0x300
xor ebx, ebx
mov edx, dword [esi]
lea ecx, [esp]
imul edx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x1c], ebx
mov dword [ecx + 0x20], ebx
mov dword [ecx + 0x24], ebx
mov dword [ecx + 0x28], ebx
mov dword [ecx + 0x2c], ebx
mov dword [ecx + 0x30], ebx
mov dword [ecx + 0x34], ebx
mov dword [ecx + 0x38], ebx
mov dword [ecx + 0x3c], ebx
mov dword [ecx + 0x40], ebx
mov dword [ecx + 0x44], ebx
mov dword [ecx + 0x48], ebx
mov dword [ecx + 0x4c], ebx
mov dword [ecx + 0x50], ebx
mov dword [ecx + 0x54], ebx
mov dword [ecx + 0x58], ebx
mov dword [ecx + 0x5c], ebx
mov dword [ecx + 0x60], ebx
mov dword [ecx + 0x64], ebx
mov dword [ecx + 0x68], ebx
mov dword [ecx + 0x6c], ebx
mov dword [ecx + 0x70], ebx
mov dword [ecx + 0x74], ebx
mov dword [ecx + 0x78], ebx
mov dword [ecx + 0x7c], ebx
mov dword [ecx + 0x80], ebx
mov dword [ecx + 0x84], ebx
mov dword [ecx + 0x88], ebx
mov dword [ecx + 0x8c], ebx
mov dword [ecx + 0x90], ebx
mov dword [ecx + 0x94], ebx
mov dword [ecx + 0x98], ebx
mov dword [ecx + 0x9c], ebx
mov dword [ecx + 0xa0], ebx
mov dword [ecx + 0xa4], ebx
mov dword [ecx + 0xa8], ebx
mov dword [ecx + 0xac], ebx
mov dword [ecx + 0xb0], ebx
mov dword [ecx + 0xb4], ebx
mov dword [ecx + 0xb8], ebx
mov dword [ecx + 0xbc], ebx
mov dword [ecx + 0xc0], ebx
mov dword [ecx + 0xc4], ebx
mov dword [ecx + 0xc8], ebx
mov dword [ecx + 0xcc], ebx
mov dword [ecx + 0xd0], ebx
mov dword [ecx + 0xd4], ebx
mov dword [ecx + 0xd8], ebx
mov dword [ecx + 0xdc], ebx
mov dword [ecx + 0xe0], ebx
mov dword [ecx + 0xe4], ebx
mov dword [ecx + 0xe8], ebx
mov dword [ecx + 0xec], ebx
mov dword [ecx + 0xf0], ebx
mov dword [ecx + 0xf4], ebx
mov dword [ecx + 0xf8], ebx
mov dword [ecx + 0xfc], ebx
mov dword [ecx], eax
mov bl, 0x3f
mov edx, edi
shr edx, 5
mov ecx, edi
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0xf
mov ecx, eax
cmp eax, 0x8000
jl 0x568b3b
shr eax, 0xd
mov edx, dword [eax*4 + 0x1075470]
mov eax, edx
shr edx, 0x10
add edi, edx
cmp ah, 0x41
je 0x568c47
ja 0x568bce
neg edx
sub bl, ah
add edx, 0x10
and eax, 0xff
inc edi
bt ecx, edx
jae 0x568b0d
neg eax
mov ecx, dword [ebx*4 + 0x1075384]
mov edx, dword [esi + ecx*4]
imul eax, edx
mov dword [esp + ecx*4], eax
mov edx, edi
shr edx, 5
mov ecx, edi
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0xf
mov ecx, eax
cmp eax, 0x8000
jge 0x568ad9
cmp eax, 0x800
jl 0x568b4e
shr eax, 9
mov edx, dword [eax*4 + 0x10754a0]
jmp 0x568ae3
cmp eax, 0x400
jl 0x568b61
shr eax, 7
mov edx, dword [eax*4 + 0x1075580]
jmp 0x568ae3
cmp eax, 0x200
jl 0x568b77
shr eax, 5
mov edx, dword [eax*4 + 0x1075580]
jmp 0x568ae3
cmp eax, 0x100
jl 0x568b8d
shr eax, 4
mov edx, dword [eax*4 + 0x10755c0]
jmp 0x568ae3
cmp eax, 0x80
jl 0x568ba3
shr eax, 3
mov edx, dword [eax*4 + 0x1075600]
jmp 0x568ae3
cmp eax, 0x40
jl 0x568bb7
shr eax, 2
mov edx, dword [eax*4 + 0x1075640]
jmp 0x568ae3
cmp eax, 0x20
jl 0x568c47
shr eax, 1
mov edx, dword [eax*4 + 0x1075680]
jmp 0x568ae3
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x12
add edi, 0xe
sub bl, ah
dec bl
and eax, 0xff
jne 0x568c0e
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x18
add edi, 8
jmp 0x568b0d
cmp eax, 0x80
jne 0x568c37
mov edx, edi
mov ecx, edi
shr edx, 5
mov eax, dword [ebp + edx*4]
mov edx, dword [ebp + edx*4 + 4]
shld eax, edx, cl
shr eax, 0x18
add edi, 8
sub eax, 0x100
jmp 0x568b0d
jle 0x568b0d
sub eax, 0x100
jmp 0x568b0d
cmp bl, 0x3f
je 0x568d9a
push esi
push ebp
push edi
lea esi, [esp + 0xc]
lea edi, [esp + 0x10c]
call fcn.0056a60c
lea esi, [esp + 0x2c]
lea edi, [esp + 0x110]
call fcn.0056a60c
lea esi, [esp + 0x4c]
lea edi, [esp + 0x114]
call fcn.0056a60c
lea esi, [esp + 0x6c]
lea edi, [esp + 0x118]
call fcn.0056a60c
lea esi, [esp + 0x8c]
lea edi, [esp + 0x11c]
call fcn.0056a60c
lea esi, [esp + 0xac]
lea edi, [esp + 0x120]
call fcn.0056a60c
lea esi, [esp + 0xcc]
lea edi, [esp + 0x124]
call fcn.0056a60c
lea esi, [esp + 0xec]
lea edi, [esp + 0x128]
call fcn.0056a60c
mov edi, dword [esp + 0x30c]
lea esi, [esp + 0x10c]
call fcn.0056a819
mov eax, dword [esp + 0x310]
add edi, eax
lea esi, [esp + 0x130]
call fcn.0056a819
mov eax, dword [esp + 0x310]
add edi, eax
lea esi, [esp + 0x154]
call fcn.0056a819
mov eax, dword [esp + 0x310]
add edi, eax
lea esi, [esp + 0x178]
call fcn.0056a819
mov eax, dword [esp + 0x310]
add edi, eax
lea esi, [esp + 0x19c]
call fcn.0056a819
mov eax, dword [esp + 0x310]
add edi, eax
lea esi, [esp + 0x1c0]
call fcn.0056a819
mov eax, dword [esp + 0x310]
add edi, eax
lea esi, [esp + 0x1e4]
call fcn.0056a819
mov eax, dword [esp + 0x310]
add edi, eax
lea esi, [esp + 0x208]
call fcn.0056a819
mov eax, dword [esp + 0x310]
add edi, eax
pop edi
pop ebp
pop esi
add esp, 0x300
pop edx
pop ecx
ret
mov eax, dword [esp]
mov edx, dword [esp + 0x300]
sar eax, 0x11
mov ebx, dword [esp + 0x304]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
add edx, ebx
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
add edx, ebx
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
add edx, ebx
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
add edx, ebx
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
add edx, ebx
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
add edx, ebx
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
add edx, ebx
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
add edx, ebx
add esp, 0x300
pop edx
pop ecx
ret