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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x429000]
xor eax, ebp
mov dword [ebp - 4], eax
xor ecx, ecx
push ebx
push esi
push edi
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x38], ecx
mov ebx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], ecx
call fcn.00528a63
mov edi, eax
test edi, edi
jns 0x52382b
push 0xc1008005
call fcn.00528617
pop ecx
jmp 0x523c41
push 0x40115c
call fcn.00527a4b
mov ecx, eax
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x52384a
mov edi, 0xc000000d
push 0xc1008019
jmp 0x523820
cmp dword [ecx + 0xc], ebx
ja 0x52385e
mov edi, 0xc000000d
push 0xc1008019
jmp 0x523be9
mov ecx, dword [ecx + 0x10]
lea eax, [ebp - 0x14]
call fcn.00528b8a
test eax, eax
jns 0x52387b
mov esi, 0x405264
lea edi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x523881
xor ebx, ebx
inc ebx
mov dword [ebp - 0x18], ebx
mov esi, dword [ebp - 0x20]
cmp ebx, dword [esi + 0xc]
jae 0x52384f
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x2c]
call fcn.0052b9dc
mov edi, eax
test edi, edi
jns 0x5238a9
push 0xc100800e
jmp 0x523be9
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x28]
call fcn.0052bc4a
mov edi, eax
test edi, edi
js 0x52389f
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x48]
mov eax, dword [esi + eax*4 + 0x10]
lea ebx, [ebp - 0x24]
call fcn.005247a4
mov edi, eax
test edi, edi
jns 0x5238dd
push 0xc100801a
jmp 0x523be9
mov ebx, dword [ebp - 0x18]
mov ecx, esi
mov esi, dword [ecx + 0xc]
inc ebx
mov dword [ebp - 0x18], ebx
cmp ebx, esi
jae 0x52384f
mov edx, dword [ebp - 0x24]
mov eax, edx
shr eax, 0x18
and eax, 0xf
dec eax
je 0x523b8c
dec eax
je 0x523b29
dec eax
je 0x523ae8
dec eax
je 0x523a53
dec eax
je 0x523a27
dec eax
je 0x5239ff
dec eax
jne 0x52384f
sub esi, ebx
shl esi, 3
push esi
push eax
mov eax, dword fs:[0x30]
push dword [eax + 0x18]
mov dword [ebp - 0x18], esi
call dword [0x42a510]
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x523b65
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx + 0xc]
and dword [ebp - 0x34], 0
mov dword [ebp - 0x44], 8
sub eax, ebx
je 0x5239d1
lea ecx, [ecx + ebx*4]
add ecx, 0x10
mov dword [ebp - 0x3c], ecx
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x48]
push dword [ecx]
call fcn.00524399
mov edi, eax
test edi, edi
js 0x523a49
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
push ecx
mov dword [esi + 4], eax
mov eax, dword fs:[0x30]
push 0
push dword [eax + 0x18]
call dword [fcn.0042a514]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
inc edx
add ecx, 4
sub eax, ebx
add esi, 8
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x3c], ecx
cmp edx, eax
jb 0x523971
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
xor eax, eax
push eax
call fcn.00527a4b
mov dword [ebp - 0x38], eax
test eax, eax
je 0x523bb3
push dword [eax + 8]
push 0xc100803a
call fcn.00528617
pop ecx
mov edi, 0xc000000d
jmp 0x523bee
mov esi, dword [ecx + ebx*4 + 0x10]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x18], 2
call fcn.00524468
mov edi, eax
test edi, edi
jns 0x5239ce
push 0xc100801f
jmp 0x523be9
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
push edx
push dword [ebp - 0x48]
mov dword [ebp - 0x18], 8
push dword [ecx + ebx*4 + 0x10]
call fcn.00524399
mov edi, eax
test edi, edi
jns 0x5239ce
push 0xc100801e
jmp 0x523be9
push 0x4012cc
call fcn.00527a4b
push 0x4012e0
mov esi, eax
call fcn.00527a4b
push 0x4012f0
mov ebx, eax
call fcn.00527a4b
xor edx, edx
test esi, esi
je 0x523a83
inc edx
mov dword [ebp - 0x30], 2
test ebx, ebx
je 0x523a8f
inc edx
mov dword [ebp - 0x30], 3
test eax, eax
je 0x523a9a
xor eax, eax
inc edx
inc eax
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x18]
sub ebx, eax
test edx, edx
je 0x523abd
cmp edx, 1
ja 0x523ab3
cmp ebx, 1
je 0x523abd
push 0xc1008033
jmp 0x523be9
lea edx, [ebp - 0x1c]
add eax, 4
push edx
lea eax, [ecx + eax*4]
push eax
call fcn.00528af1
mov edi, eax
test edi, edi
jns 0x523add
push 0xc100801d
jmp 0x523be9
mov esi, dword [ebp - 0x1c]
shl ebx, 4
jmp 0x5239d4
push 0x10
pop eax
push eax
mov dword [ebp - 0x18], eax
mov eax, dword fs:[0x30]
push 0
push dword [eax + 0x18]
call dword [0x42a510]
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x523b65
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx + ebx*4 + 0x10]
call fcn.00528b8a
mov edi, eax
test edi, edi
jns 0x5239d1
push 0xc100801c
jmp 0x523be9
mov ecx, dword [ecx + ebx*4 + 0x10]
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x523b32
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
mov dword [ebp - 0x18], eax
mov eax, dword fs:[0x30]
push esi
push dword [eax + 0x18]
call dword [0x42a510]
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
jne 0x523b6f
mov edi, 0xc000009a
jmp 0x523bef
mov eax, dword [ebp - 0x20]
push dword [eax + ebx*4 + 0x10]
mov ebx, dword [ebp - 0x18]
mov eax, ebx
shr eax, 1
push eax
push esi
call fcn.00537c9f
add esp, 0xc
jmp 0x5239d4
mov ecx, dword [ecx + ebx*4 + 0x10]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x40]
push eax
push edx
call fcn.00523f67
mov edi, eax
test edi, edi
jns 0x5239ce
push 0xc100801b
jmp 0x523be9
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x523bce
push dword [ebp - 0x40]
mov edx, ebx
push dword [ebp - 0x24]
mov ecx, esi
push dword [ebp - 0x28]
call fcn.0052c0de
jmp 0x523bde
push esi
push dword [ebp - 0x24]
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp - 0x2c]
call fcn.00529a97
mov edi, eax
test edi, edi
jns 0x523bef
push 0xc1008020
call fcn.00528617
pop ecx
push dword [ebp - 0x20]
mov ebx, dword [fcn.0042a514]
xor eax, eax
push eax
mov eax, dword fs:[0x30]
push dword [eax + 0x18]
call ebx
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x523c1c
push eax
xor eax, eax
push eax
mov eax, dword fs:[0x30]
push dword [eax + 0x18]
call ebx
cmp dword [ebp - 0x1c], 0
je 0x523c33
push dword [ebp - 0x1c]
xor eax, eax
push eax
mov eax, dword fs:[0x30]
push dword [eax + 0x18]
call ebx
cmp dword [ebp - 0x28], 0
je 0x523c41
push dword [ebp - 0x28]
call fcn.0052fdb2
cmp dword [ebp - 0x2c], 0
je 0x523c55
push dword [ebp - 0x2c]
call fcn.0052ad28
test edi, edi
js 0x523c55
mov edi, eax
push edi
call dword [0x42a518]
push eax
call fcn.00528664
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053765e
leave
ret