Function at 0x538840
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x622830
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x14], esi
mov dword [esi], 0x6542a8
mov eax, dword [0x6ecc44]
cmp eax, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], ebx
jne 0x53888e
push 0x6d8304
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x6ecc44], eax
je 0x5388b5
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x6d82ec
push eax
call edi
mov dword [0x6ecc40], eax
mov eax, dword [0x6ecc44]
push 0x6d82d4
push eax
call edi
mov dword [0x6ecc4c], eax
jmp 0x5388bb
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov eax, dword [0x6ecc48]
cmp eax, ebx
jne 0x5388d8
push 0x6d82c8
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x6ecc48], eax
je 0x538930
push 0x6d82b8
push eax
call edi
mov ecx, dword [0x6ecc48]
push 0x6d82a8
push ecx
mov dword [0x6ecc2c], eax
call edi
mov edx, dword [0x6ecc48]
push 0x6d8294
push edx
mov dword [0x6ecc30], eax
call edi
mov dword [0x6ecc34], eax
mov eax, dword [0x6ecc48]
push 0x6d8284
push eax
call edi
mov ecx, dword [0x6ecc48]
push 0x6d8274
push ecx
mov dword [0x6ecc38], eax
call edi
mov dword [0x6ecc3c], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x4c], 0x14
mov edx, dword [0x6ec77c]
neg edx
sbb edx, edx
and edx, 0xfffffffb
add edx, 0x1f
mov dword [esi + 0x48], edx
mov eax, dword [0x6ec77c]
neg eax
sbb eax, eax
and al, 0xeb
add eax, 0x2f
mov dword [esi + 0x50], eax
mov ecx, dword [0x6ec77c]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffff7
add ecx, 0x1d
mov dword [esi + 0x54], ecx
mov ecx, dword [0x6ec77c]
mov eax, ecx
neg eax
sbb eax, eax
and al, 0xeb
add eax, 0x2f
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffb
add ecx, 0x1f
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 0x58], eax
mov edx, dword [0x6ec77c]
neg edx
sbb edx, edx
and edx, 0xfffffffc
add edx, 0xc
mov dword [esi + 0x5c], edx
mov eax, dword [0x6ec77c]
neg eax
sbb eax, eax
mov edx, dword [ebp + 8]
and al, 0xfd
push edx
add eax, 5
mov dword [esi + 0x60], eax
mov ecx, dword [0x6ec77c]
neg ecx
sbb ecx, ecx
and ecx, 2
add ecx, 8
mov dword [esi + 0x64], ecx
mov ecx, esi
call fcn.00539b10
lea eax, [esi + 0x68]
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 6
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x24], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x20], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1c], edx
call edi
shl eax, 1
mov edx, eax
push 4
mov dword [ebp - 0x18], edx
call edi
mov edi, eax
mov eax, dword [ebp - 0x18]
neg edi
push 5
sub edi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, eax
or eax, 0xffffffff
sub eax, ecx
push edi
shl eax, 1
lea edx, [ebp - 0x28]
push eax
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
lea eax, [esi + 0x94]
mov dword [esi + 0x94], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp + 8]
push ecx
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xa8], eax
call fcn.005f71bf
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x28]
push edx
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [esi + 0xa8]
push edx
push eax
call fcn.005f41f9
push 0x1e
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x1f
mov edi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [edi - 5]
mov edx, 8
add eax, 0xfffffffb
cmp ecx, edx
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], eax
jle 0x538ad2
mov dword [esi + 0x8c], edx
cmp eax, edx
jle 0x538adc
mov dword [esi + 0x90], edx
call fcn.00604991
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x8c]
mov eax, dword [eax + 8]
mov edi, dword [sym.imp.USER32.dll_LoadImageA]
push ebx
push ecx
mov ecx, dword [ebp + 0x18]
push edx
and ecx, 0xffff
push 1
push ecx
push eax
call edi
mov dword [esi + 8], eax
mov eax, dword [0x6ec774]
cmp eax, ebx
je 0x538b30
call fcn.00604991
mov eax, dword [eax + 8]
push ebx
push 0x10
push 0x10
push 1
push 0x80
push eax
call edi
mov dword [esi + 0xc], eax
jmp 0x538b33
mov dword [esi + 0xc], ebx
mov edx, dword [ebp + 0x14]
mov byte [esi + 4], bl
mov dword [esi + 0x88], edx
mov byte [esi + 5], 1
cmp dword [0x6ec774], ebx
je 0x538b9e
mov eax, dword [0x6ecc4c]
cmp eax, ebx
je 0x538b9e
cmp dword [0x6ecc2c], ebx
je 0x538b9e
cmp dword [0x6ecc30], ebx
je 0x538b9e
cmp dword [0x6ecc38], ebx
je 0x538b9e
cmp dword [0x6ecc3c], ebx
je 0x538b9e
mov edx, dword [ebp + 8]
lea ecx, [ebp + 0x14]
push 4
push ecx
push 4
push edx
mov byte [ebp - 4], 1
mov dword [ebp + 0x14], 1
call eax
jmp 0x538b9e
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14