Function at 0x10050200
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x3f5a430
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
lea esp, [esp - 4]
lea esp, [esp - 0x40]
pushfd
push eax
push ebx
bsr bx, ax
sar ebx, 3
aaa
lea eax, [ebx - 0x275d]
mov ax, 0xa4
push ecx
mov cx, 0xd8
push edx
mul cx
bswap eax
cmc
aaa
bswap ebx
nop
btc eax, 1
mov eax, dword [esp]
mov dword [esp + 0x50], eax
pop edx
daa
not edx
add dx, ax
mov eax, dword [esp + 8]
inc dx
dec dh
mov ebx, dword [esp + 0xc]
push ebx
popfd
mov edx, dword [esp + 0x4c]
xchg bh, cl
mov ebx, dword [esp + 4]
mov ecx, dword [esp]
lea esp, [esp + 0x50]
mov dword [esp], esi
lea esp, [esp - 4]
lea esp, [esp - 0x24]
push eax
push ebx
push ecx
lea ebx, [ecx + eax + 0x5f79]
pushfd
push edx
bsr dx, ax
test al, ah
cmc
bsf ecx, eax
xchg cx, ax
xchg bx, cx
cdq
not dl
not ah
inc ax
bswap edx
or dx, bx
lea ecx, [eax - 0xb46]
bswap eax
not cx
bswap ebx
bts ecx, 1
stc
lea eax, [ecx + edx + 0x69a9]
xadd ecx, ebx
cdq
bswap edx
xor ch, 0x4f
bswap ecx
neg ebx
dec eax
mov eax, dword [esp]
mov dword [esp + 0x34], eax
pop ebx
daa
xor edx, edx
mov eax, 0xd17a
mov ecx, 0xaf49
div ecx
dec cx
inc cl
mov eax, dword [esp]
push eax
popfd
mov ecx, dword [esp + 4]
xchg dx, ax
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
pop ebx
mov ebx, dword [esp + 4]
lea esp, [esp + 0x30]
mov dword [esp], edi
mov eax, dword [0x3f67864]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov ebx, dword [ebp + 8]
cmp ebx, 0x9249249
jbe 0x1005044a
lea esp, [esp - 4]
lea esp, [esp - 4]
push eax
cbw
pushfd
push ecx
inc ecx
neg eax
daa
push edx
xor dx, 0x4a
bts eax, 3
bt eax, 0
push ebx
bswap ebx
inc ecx
cbw
not edx
xchg edx, ebx
dec bl
xadd ecx, eax
clc
shl ecx, 6
mov ecx, dword [esp + 8]
shl ebx, 4
aam 0xa
mov eax, dword [esp + 0x10]
clc
push ebx
cwd
shl ebx, 1
mov ebx, dword [esp + 0x10]
push ebx
popfd
mov ebx, dword [esp + 4]
pop edx
mov edx, dword [esp + 4]
lea esp, [esp + 0x14]
mov dword [esp], edx
pushfd
lea esp, [esp - 4]
pushfd
push eax
shl eax, 4
bswap eax
cmc
push ebx
dec bx
push eax
push edx
inc edx
push ecx
dec cx
sub dl, al
xadd edx, eax
aaa
das
sub ebx, 0x2c0b
xchg edx, eax
aas
dec bx
xchg ebx, eax
das
aas
cdq
clc
shl ecx, 4
add ax, cx
lea ebx, [edx - 0x3a9e]
dec ebx
aad 0xa
aas
neg ecx
sahf
not bx
and bx, 0x41
mov eax, dword [esp + 0x14]
push eax
popfd
mov ebx, dword [esp + 0xc]
xchg ecx, edx
mov ecx, dword [esp]
cdq
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 4]
lea esp, [esp + 0x18]
mov dword [esp], ebx
inc bl
push edx
inc dx
push ecx
xadd ecx, ebx
bswap edx
clc
inc ch
mov ecx, dword [esp]
nop
sahf
push eax
aam 0xa
push ebx
aad 0xa
aam 0xa
clc
cwd
or dl, 0x37
bsr bx, dx
rol dx, 1
das
lahf
sub ax, bx
neg ax
shr dl, 4
mov edx, dword [esp + 0xc]
inc eax
inc bx
lea ebx, [eax + 0x4d6a]
mov ebx, dword [esp + 0x10]
aad 0xa
mov eax, dword [esp + 0x14]
push eax
popfd
mov eax, dword [esp + 4]
lea esp, [esp + 0x1c]
mov dword [esp], 0x3f5d484
call fcn.10062bb1
mov ecx, dword [esi + 8]
sub ecx, dword [esi]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ebx
jae 0x100505ed
lea edi, [esi + 0xc]
push ebx
mov ecx, edi
call fcn.1004c250
mov ebx, dword [ebp + 8]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push ebx
push 0
push edi
push eax
lea esp, [esp - 4]
pushfd
push eax
aam 0xa
lahf
push ebx
inc ebx
push edx
not dl
shr ebx, 5
xor dx, dx
mov ax, 0x624b
push ecx
mov cx, 0x9bba
div cx
cdq
neg ecx
shl bx, 4
aam 0xa
or ax, 0x77
stc
daa
and cx, bx
cmp dl, 0x55
cwd
sub eax, 0xffffcee5
add cx, dx
xor cx, 0xc33a
rol bl, 2
bswap ebx
shl dl, 1
ror dx, 4
add eax, 0xf7a
daa
nop
xadd ecx, eax
not bh
mov ebx, dword [esp + 8]
xor ah, ch
mov ecx, dword [esp]
inc edx
mov edx, dword [esp + 4]
lea esp, [esp - 4]
lea esp, [esp - 0x18]
pushfd
push ecx
shl cl, 6
push ebx
not bl
or bx, 0x95
inc cl
bsf cx, cx
push edx
inc edx
push eax
das
push ecx
sahf
xor dh, 0x14
aas
not bx
mov ebx, dword [esp + 0xc]
cbw
aam 0xa
pop eax
cbw
cbw
neg cx
xor edx, edx
mov eax, 0xbdec
mov ecx, 0xbcb3
div ecx
mov eax, dword [esp]
mov dword [esp + 0x28], eax
pop edx
aam 0xa
and ah, 0xc4
not edx
inc ax
sar cx, 3
mov ecx, dword [esp + 8]
or dh, 0xb3
mov edx, dword [esp]
aam 0xa
mov eax, dword [esp + 0xc]
push eax
popfd
mov eax, dword [esp + 0x24]
lea esp, [esp + 0x28]
mov dword [esp], edx
das
mov eax, dword [esp + 0x14]
push eax
popfd
mov eax, dword [esp + 0x10]
lea esp, [esp + 0x18]
mov dword [esp], ecx
push edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
call fcn.1004e8f0
mov ebx, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add esp, 0x18
add edi, edx
test ebx, ebx
je 0x100505c7
mov ecx, dword [ebp + 8]
push ecx
lea eax, [esi + 0xc]
push eax
mov eax, dword [esi + 4]
push eax
push ebx
call fcn.10015320
mov edx, dword [esi]
push edx
call fcn.100639c0
add esp, 0x14
mov eax, dword [ebp + 8]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp - 0x14]
lea edx, [eax + ecx*4]
lea ecx, [edi*8]
sub ecx, edi
mov dword [esi + 8], edx
lea edx, [eax + ecx*4]
mov dword [esi + 4], edx
mov dword [esi], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
jmp 0x100505fd
pop edi
jmp 0x10050603
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4