Function at 0x10020f3e
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x3c], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
add eax, 0x14
xor ebp, ebp
mov dword [esp + 0x14], eax
dec ebp
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, 0x187f88d3
cmp eax, 0x24965b6
jg 0x1002100c
cmp eax, 0xaf9d409c
jg 0x1002109a
cmp eax, 0xa3fd24eb
jg 0x10021130
cmp eax, 0x8ac23e9b
je 0x10021281
cmp eax, 0x8d5c2001
je 0x1002139c
cmp eax, 0x9c42563a
jne 0x10020f72
mov eax, dword [0x10030d3c]
mov ecx, dword [0x10030d38]
mov esi, 0x14c947c4
lea edx, [eax - 1]
imul edx, eax
mov ebx, edx
xor ebx, 0xfffffffe
test ebx, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x14c947c4
jne 0x10020fe4
mov esi, 0x8d5c2001
test ebx, edx
cmovne eax, esi
cmp ecx, 0xa
mov ecx, dword [esp + 0x30]
cmovge eax, esi
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
mov byte [esp + 0x22], 0
mov dword [esp + 0x1c], ecx
jmp 0x10020f72
cmp eax, 0x1a5c8e68
jg 0x100210d8
cmp eax, 0xc9d33ef
jle 0x10021156
cmp eax, 0xc9d33f0
je 0x1002128b
cmp eax, 0x14c947c4
je 0x100212a5
cmp eax, 0x187f88d3
jne 0x10020f72
mov eax, dword [esp + 0x10]
mov ecx, dword [0x10030d38]
mov esi, 0x9c42563a
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov eax, dword [0x10030d3c]
lea edx, [eax + ebp]
imul edx, eax
mov eax, 0x9c42563a
xor edx, ebp
or edx, 0xfffffffe
cmp edx, ebp
mov edx, 0x8d5c2001
sete bl
je 0x10021084
mov esi, 0x8d5c2001
cmp ecx, 0xa
setl cl
cmovl edx, esi
xor bl, cl
jne 0x10020f72
jmp 0x10021301
cmp eax, 0xc906a9a9
jle 0x100211b0
cmp eax, 0xc906a9aa
je 0x100212bf
cmp eax, 0xea190ee4
je 0x10021308
cmp eax, 0xefa212d8
jne 0x10020f72
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov eax, 0x3da4b9ed
jmp 0x10020f72
cmp eax, 0x59c6e1f5
jle 0x10021218
cmp eax, 0x59c6e1f6
je 0x10021323
cmp eax, 0x65d0b85a
je 0x10021349
cmp eax, 0x6f4db8e4
jne 0x10020f72
push dword [esp + 0x54]
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x24], eax
mov eax, 0xaf9d409d
cmp dword [esp + 0x24], 0
je 0x10020f72
mov eax, 0x95f6620
jmp 0x10020f72
cmp eax, 0xa743d77d
je 0x1002137f
cmp eax, 0xa7acc9ce
je 0x100213aa
cmp eax, 0xa3fd24ec
jne 0x10020f72
jmp 0x10021448
cmp eax, 0x24965b7
je 0x100213ee
cmp eax, 0x95f6620
jne 0x10020f72
mov eax, dword [0x10030d3c]
mov ecx, dword [0x10030d38]
mov ebx, 0x65d0b85a
lea edx, [eax - 1]
imul edx, eax
mov esi, edx
xor esi, 0xfffffffe
test esi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x65d0b85a
jne 0x100211a0
mov ebx, 0x8ac23e9b
test esi, edx
cmovne eax, ebx
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x10020f72
cmp eax, 0xaf9d409d
je 0x100213ff
cmp eax, 0xb8c52855
jne 0x10020f72
mov eax, dword [esp + 0x18]
push 0
push dword [eax + 0x28]
call fcn.100216bf
add esp, 8
test eax, eax
mov eax, dword [0x10030d3c]
mov ecx, dword [0x10030d38]
mov esi, 0xc9d33f0
sete byte [esp + 0x23]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0xc9d33f0
mov edx, 0xea190ee4
sete bl
je 0x100212f0
mov esi, 0xea190ee4
jmp 0x100212f0
cmp eax, 0x1a5c8e69
je 0x1002141d
cmp eax, 0x3da4b9ed
jne 0x10020f72
mov eax, dword [0x10030d3c]
mov ecx, dword [0x10030d38]
mov esi, 0x59c6e1f6
lea edx, [eax + ebp]
imul edx, eax
xor edx, ebp
or edx, 0xfffffffe
cmp edx, ebp
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x59c6e1f6
jne 0x10021262
mov esi, 0xefa212d8
cmp edx, ebp
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
cmovne eax, esi
cmp ecx, 0xa
cmovge eax, esi
cmp edx, ebx
setne byte [esp + 0x2b]
jmp 0x10020f72
mov eax, 0x65d0b85a
jmp 0x10020f72
cmp byte [esp + 0x23], 0
mov eax, 0x6f4db8e4
jne 0x10020f72
mov eax, 0xaf9d409d
jmp 0x10020f72
cmp byte [esp + 0x22], 0
mov eax, 0xa7acc9ce
jne 0x10020f72
mov eax, 0x6f4db8e4
jmp 0x10020f72
mov eax, dword [0x10030d3c]
mov ecx, dword [0x10030d38]
mov esi, 0x3da4b9ed
lea edx, [eax + ebp]
imul edx, eax
mov eax, 0x3da4b9ed
xor edx, ebp
or edx, 0xfffffffe
cmp edx, ebp
mov edx, 0xefa212d8
sete bl
je 0x100212f0
mov esi, 0xefa212d8
cmp ecx, 0xa
setl cl
cmovl edx, esi
xor cl, bl
jne 0x10020f72
mov eax, edx
jmp 0x10020f72
mov eax, dword [esp + 0x18]
push 0
push dword [eax + 0x28]
call fcn.100216bf
add esp, 8
mov eax, 0xb8c52855
jmp 0x10020f72
cmp byte [esp + 0x2b], 0
mov eax, 0x187f88d3
jne 0x10021334
mov eax, 0x24965b7
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
jmp 0x10020f72
mov eax, dword [0x10030d3c]
mov ecx, dword [0x10030d38]
mov esi, 0xa743d77d
lea edx, [eax + ebp]
imul edx, eax
xor edx, ebp
or edx, 0xfffffffe
cmp edx, ebp
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xa743d77d
jne 0x100213de
mov esi, 0x8ac23e9b
jmp 0x100213de
mov eax, dword [esp + 0x24]
xor edi, edi
inc edi
mov dword [esp + 0xc], eax
mov eax, 0x1a5c8e69
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
jmp 0x10020f72
mov eax, dword [esp + 0x30]
mov eax, 0x9c42563a
jmp 0x10020f72
mov eax, dword [0x10030d3c]
mov ecx, dword [0x10030d38]
mov esi, 0xb8c52855
lea edx, [eax + ebp]
imul edx, eax
xor edx, ebp
or edx, 0xfffffffe
cmp edx, ebp
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xb8c52855
jne 0x100213de
mov esi, 0xea190ee4
cmp edx, ebp
cmovne eax, esi
cmp ecx, 0xa
cmovge eax, esi
jmp 0x10020f72
mov eax, 0xa3fd24ec
mov dword [esp], 0
jmp 0x10020f72
mov eax, dword [esp + 0x30]
xor edi, edi
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, 0x1a5c8e69
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
jmp 0x10020f72
mov eax, dword [esp + 0xc]
test edi, edi
mov ecx, 0xc906a9aa
mov dword [esp + 0x34], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov eax, 0xa3fd24ec
mov edx, dword [esp + 0x34]
cmove eax, ecx
mov dword [esp], edx
jmp 0x10020f72
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.10021460
mov eax, dword [esp]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret 4