Function at 0x5b4884
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8d90f0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp + 0xc]
push dword [ebp + 8]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], eax
call fcn.0052c3fc
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x24]
mov dword [ecx], 0xb0b480
add ecx, 0x474
call fcn.00576a48
mov dword [ebp - 4], 1
push fcn.005770ec
push fcn.0057713c
mov eax, dword [ebp - 0x24]
push 4
add eax, 0x494
push 0x1c
push eax
call fcn.00858736
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x9c1940]
mov edx, dword [ebp - 0x14]
mov ebx, dword [ecx]
mov dword [ecx + 4], eax
push edx
call dword [ebx + 0x14c]
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x40]
mov dword [ebx + 0x2a4], edx
mov edx, dword [ebp - 0x24]
mov dword [ebx + 0x2a8], ecx
mov ecx, dword [ebp - 0x24]
mov dword [ebx + 0x2ac], eax
mov esi, dword [edx + 0x2a4]
mov edi, dword [edx + 0x2a8]
mov eax, dword [edx + 0x2ac]
mov dword [edx + 0x298], esi
mov dword [edx + 0x29c], edi
mov dword [edx + 0x2a0], eax
mov edx, dword [0xa749e8]
mov eax, dword [edx + 0x430]
mov dword [ecx + 0xdc], eax
mov eax, dword [ebp - 0x14]
movzx eax, word [eax + 0x3c]
test al, 1
je 0x5b4cef
mov dword [ecx + 0x504], 1
mov eax, 1
mov esi, dword [ebp - 0x14]
push 2
mov ebx, dword [ecx + 0x2e8]
or ebx, 1
mov dword [ecx + 0x2e8], ebx
push 0x9c1640
movsx edi, word [esi + 0x3e]
mov dword [ecx + 0x374], edi
mov ebx, dword [edx + 0x42c]
add eax, eax
mov ebx, dword [ebx + eax*8 + 8]
mov dword [ecx + 0x34], ebx
mov edx, dword [edx + 0x42c]
mov eax, dword [edx + eax*8 + 0xc]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0xd8], 0x9c16a0
call fcn.007b9a88
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov esi, dword [edx + 0xa4]
mov ebx, dword [esi + 0x44]
and ebx, 0xfffffffe
mov dword [esi + 0x44], ebx
mov eax, dword [ecx + 0x504]
add eax, eax
add eax, eax
mov esi, dword [eax + 0xa749e0]
mov ebx, dword [eax + 0xa749d8]
lea edi, [eax + eax]
add edi, edi
add edi, edi
sub edi, eax
mov dword [ecx + 0x508], esi
mov dword [ecx + 0x50c], ebx
lea edx, [edi + 0x9c1944]
mov dword [ecx + 0x358], edx
mov edx, dword [eax + 0xa749d0]
mov eax, dword [eax + 0xa749c8]
mov dword [ecx + 0x510], edx
mov dword [ecx + 0x514], eax
push edx
push ebx
push esi
call fcn.007868f8
mov ecx, dword [ebp - 0x24]
call fcn.005b4758
mov ecx, dword [ebp - 0x24]
push 0
call fcn.007aa4c8
mov ecx, dword [ebp - 0x24]
movsx edx, word [ecx + 0x2bc]
movzx eax, word [ecx + 0x2be]
mov word [ecx + 0x334], dx
mov word [ecx + 0x336], ax
mov word [ecx + 0x346], dx
call fcn.0078730c
mov ecx, dword [ebp - 0x24]
call fcn.00786bbc
mov edi, dword [ebp - 0x24]
mov eax, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
mov ecx, dword [edi + 0x40]
mov esi, dword [edi + 0x504]
xor ebx, ebx
mov dword [edi + 0x68], 0x3f800000
mov word [edi + 0x41c], bx
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], edx
mov dword [edi + 0x58], ecx
mov dword [edi + 0x420], eax
mov dword [edi + 0x424], edx
mov dword [edi + 0x428], ecx
mov dword [edi + 0x468], ebx
mov dword [edi + 0x46c], ebx
test esi, esi
je 0x5b4ae7
push 0x5f
mov ecx, edi
call fcn.00787550
jmp 0x5b4af0
push 0x5e
mov ecx, edi
call fcn.00787550
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [ecx + 0x470], 0
movsx edx, word [eax + 0xa]
xor ebx, ebx
test edx, edx
je 0x5b4b14
call fcn.0052ca40
mov ecx, dword [ebp - 0x24]
xor ebx, ebx
mov dword [ecx + 0x418], ebx
xor ebx, ebx
lea eax, [ebx + ebx]
add eax, eax
lea edx, [eax + eax]
add edx, edx
add edx, edx
sub edx, eax
lea ecx, [ecx + edx + 0x494]
call fcn.0057739c
add ebx, 1
cmp ebx, 4
jge 0x5b4b43
mov ecx, dword [ebp - 0x24]
jmp 0x5b4b1c
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
mov eax, dword [edi + 0x30]
or eax, 0x1000000
mov edx, dword [edi + 0x38]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x40]
mov dword [edi + 0x30], eax
mov dword [edi + 0x44], edx
mov dword [edi + 0x48], ebx
mov dword [edi + 0x4c], esi
mov eax, dword [ecx]
call dword [eax + 0x150]
mov eax, dword [ebp - 0x24]
fld dword [0x92ad78]
fld dword [0xa74994]
mov edx, dword [eax + 0x514]
fld dword [eax + 0x68]
fmul st(1), st(0)
mov dword [eax + 0x3bc], 0x42700000
mov dword [eax + 0x3c0], 0x2000
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x3c8], 0x1e
mov dword [eax + 0x3c4], ecx
mov edi, dword [edx + 0x1c]
mov dword [eax + 0x3d0], 0x78
mov dword [eax + 0x3cc], edi
fld dword [edx + 0xc]
fmul dword [0x9c1728]
mov edi, dword [ebp - 0x20]
fstp dword [eax + 0x3d4]
xor ecx, ecx
mov dword [eax + 0x3d8], 0x43340000
mov dword [eax + 0x3dc], 0x1000
mov esi, dword [edx + 0x20]
mov dword [eax + 0x3e4], 0xa
mov dword [eax + 0x3e0], esi
mov esi, dword [ebp - 0x1c]
mov dword [eax + 0x3f0], 0x437a0000
mov dword [eax + 0x3e8], ecx
mov dword [eax + 0x3ec], ecx
mov dword [eax + 0x3f4], 0x400
mov dword [eax + 0x3f8], ecx
mov dword [eax + 0x3fc], ecx
mov ebx, dword [edx + 0x28]
mov dword [eax + 0x408], 0
mov dword [eax + 0x400], ebx
mov ebx, 2
mov dword [eax + 0x404], ebx
mov dword [eax + 0x40c], ecx
mov ecx, dword [eax + 0x418]
mov dword [eax + 0x410], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 0x414], ecx
mov dword [eax + 0x3b4], ebx
mov ebx, dword [ebp - 0x18]
mov dword [eax + 0x3b0], 0x461c4000
mov dword [eax + 0x3b8], 0x42a00000
fld dword [edx]
fmul st(3)
fmul st(1)
fxch st(2)
fstp dword [eax + 0x398]
fxch st(1)
fstp dword [eax + 0x394]
fld dword [edx + 8]
mov edx, dword [eax + 0x390]
fmulp st(2)
fmulp st(1)
fstp dword [eax + 0x39c]
or edx, 0x20000
mov dword [eax + 0x3a0], 0x300
mov dword [eax + 0x390], edx
mov dword [eax + 0x3a4], 0
mov dword [eax + 0x3a8], 0
mov dword [eax + 0x3ac], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
movsx eax, word [ecx + 0x2c]
push eax
call fcn.00813038
pop ecx
mov ecx, dword [ebp - 0x24]
test eax, eax
je 0x5b4d1b
mov edx, dword [0xa749e8]
mov dword [ecx + 0x504], 1
mov eax, 1
jmp 0x5b4990
mov edx, dword [0xa749e8]
mov dword [ecx + 0x504], 0
xor eax, eax
jmp 0x5b4990