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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x65f8f9
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x758898]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov eax, dword [0x758898]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], eax
mov dword [eax], 1
call fcn.00402510
xor ebx, ebx
mov dword [esp + 0xc0], ebx
push esi
lea ecx, [esp + 0x40]
push 0x678ea8
push ecx
call fcn.00402f80
mov edx, dword [esp + 0x48]
push str.selected_id
push edx
call fcn.006218e0
mov esi, eax
add esp, 0x14
cmp esi, ebx
jne 0x556d3c
mov eax, dword [esp + 0x3c]
push str._26selected_id
push eax
call fcn.006218e0
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x556df4
lea edi, [esi + 0xf]
push str._26selected_id
push edi
call fcn.006218e0
add esp, 8
test eax, eax
je 0x556d35
push str._26selected_id
push edi
call fcn.006218e0
mov esi, eax
lea edi, [esi + 0xf]
push str._26selected_id
push edi
call fcn.006218e0
add esp, 0x10
test eax, eax
jne 0x556d13
mov byte [esi], bl
add esi, 0xf
jmp 0x556d78
lea edi, [esi + 0xd]
push str.selected_id
push edi
call fcn.006218e0
add esp, 8
test eax, eax
je 0x556d73
push str.selected_id
push edi
call fcn.006218e0
mov esi, eax
lea edi, [esi + 0xd]
push str.selected_id
push edi
call fcn.006218e0
add esp, 0x10
test eax, eax
jne 0x556d51
mov byte [esi], bl
add esi, 0xd
xor ecx, ecx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebx
mov word [esp + 0x78], cx
mov byte [esp + 0xc0], 1
mov eax, dword [0x75dc58]
cmp eax, ebx
jne 0x556d9d
mov eax, 0x75dc5c
push ebx
push eax
push str._sidmvmprs.dll
lea ecx, [esp + 0x80]
call fcn.004021c0
mov eax, dword [esp + 0x74]
cmp eax, ebx
jne 0x556dbc
lea eax, [esp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
mov dword [esp + 0x50], edi
cmp edi, ebx
je 0x556de4
push 0x6abfa0
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
jne 0x556e0f
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov byte [esp + 0xc0], bl
lea ecx, [esp + 0x74]
call fcn.00401210
mov dword [esp + 0xc0], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.00402580
xor eax, eax
jmp 0x557094
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x44]
push edx
mov edx, dword [esp + 0x40]
push 1
push esi
push ecx
push edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
call eax
cmp eax, ebx
je 0x557065
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x557065
mov edi, dword [ebp + 0x10]
mov eax, dword [ecx]
cmp edi, ebx
je 0x556e4d
mov edx, dword [eax + 8]
jmp 0x556e50
mov edx, dword [eax + 0xc]
call edx
mov esi, eax
cmp esi, ebx
je 0x557033
cmp edi, ebx
je 0x556e75
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
test eax, eax
jne 0x556e75
mov eax, dword [esp + 0x54]
mov dword [eax], ebx
push 0x58
call fcn.005f44e8
add esp, 4
mov dword [esp + 0x54], eax
mov byte [esp + 0xc0], 2
cmp eax, ebx
je 0x556e98
mov ecx, eax
call fcn.0056bd50
jmp 0x556e9a
xor eax, eax
mov byte [esp + 0xc0], 1
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
cmp eax, ebx
je 0x557033
mov ecx, 1
mov dword [eax + 0x54], ecx
mov edx, dword [esp + 0x3c]
push 0x5c
push edx
mov dword [esp + 0x50], ecx
call fcn.00621820
mov edi, eax
mov eax, dword [esp + 0x44]
push 0x5c
push eax
call fcn.00621820
add esp, 0x10
cmp edi, ebx
setne cl
mov byte [esp + 0x3b], cl
cmp cl, bl
je 0x556ef3
cmp eax, ebx
je 0x556ef3
cmp eax, edi
jae 0x556ef3
mov byte [esp + 0x3b], bl
cmp dword [esi], ebx
je 0x557028
cmp dword [esi + 0x1c], ebx
jg 0x556f0d
jl 0x556f07
cmp dword [esi + 0x18], ebx
jae 0x556f0d
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
lea ecx, [esp + 0x40]
call fcn.00402510
mov byte [esp + 0xc0], 3
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x44]
push 0x678ea8
push edx
call fcn.00402f80
add esp, 0xc
cmp byte [esp + 0x3b], bl
jne 0x556f73
lea esp, [esp]
mov eax, dword [esp + 0x40]
push 0x5c
push eax
call fcn.00621820
mov ecx, dword [esp + 0x48]
push 0x5c
push ecx
mov edi, eax
call fcn.00621820
add esp, 0x10
cmp edi, ebx
setne cl
cmp cl, bl
je 0x556f73
cmp eax, ebx
je 0x556f6e
cmp eax, edi
jb 0x556f73
mov byte [edi], 0x2f
jmp 0x556f40
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
push ebx
push ebx
push ebx
push ebx
push edx
push eax
mov eax, dword [esi + 0x1c]
push ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x70], ecx
mov ecx, eax
and ecx, 0x80000000
and eax, 0x7fffffff
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
fild qword [esp + 0x70]
mov dword [esp + 0x78], ebx
fild qword [esp + 0x78]
mov edx, dword [esi + 8]
mov edi, dword [esp + 0x68]
mov ecx, dword [edi + 0x18]
fchs
push edx
faddp st(1)
mov edx, dword [esp + 0x60]
push ebx
push ebx
fdiv qword [0x6abf98]
push ebx
push ebx
push ebx
sub esp, 8
fstp qword [esp]
push edx
call fcn.0056bf00
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x6c], edx
mov edx, ecx
and ecx, 0x7fffffff
and edx, 0x80000000
mov dword [esp + 0x70], ecx
fild qword [esp + 0x6c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ebx
fild qword [esp + 0x64]
mov eax, dword [edi + 0x18]
fchs
faddp st(1)
fdiv qword [0x6abf98]
fadd qword [eax + 0x18]
fstp qword [eax + 0x18]
mov byte [esp + 0xc0], 1
lea ecx, [esp + 0x40]
call fcn.00402580
mov esi, dword [esi + 0x20]
cmp esi, ebx
jne 0x556ef3
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esp + 0x48], ebx
je 0x557061
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0xdc]
cmp eax, ebx
je 0x557061
mov ecx, dword [ecx + 0x18]
cmp dword [ecx + 0x10], 1
jle 0x557061
push eax
call fcn.0056bc90
mov edi, dword [esp + 0x50]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov byte [esp + 0xc0], bl
lea ecx, [esp + 0x74]
call fcn.00401210
mov dword [esp + 0xc0], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.00402580
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.0062023e
mov esp, ebp
pop ebp
ret 0x10