Function at 0x4dd2a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x4a4
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_GetDC]
push esi
push edi
xor edi, edi
push edi
call ebp
mov esi, eax
mov eax, dword [0x708fd4]
push eax
mov dword [esp + 0x48], esi
call ebp
mov ecx, dword [0x7090e8]
mov edx, dword [0x7090ec]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x3c], ecx
push eax
lea ecx, [esp + 0x28]
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x48], edx
call fcn.004ebdb0
mov eax, dword [esp + 0x30]
mov ebx, dword [0x8e8138]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
movzx eax, bl
shl eax, 0x10
mov ecx, ebx
and ecx, 0xff00
mov dword [esp + 0x34], edx
movzx edx, byte [0x8e813a]
or eax, ecx
mov ecx, dword [esp + 0x4c4]
or eax, edx
add esp, 8
cmp ecx, edi
mov dword [esp + 0x5c], eax
je 0x4dd35d
push 1
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [0x708fd4]
push ecx
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x54]
push edx
push esi
push eax
call dword [0x71404c]
jmp 0x4ddb74
mov esi, dword [esp + 0x4b8]
mov ecx, dword [0x714058]
cmp ecx, dword [esi + 0x428]
jne 0x4dd384
mov edx, dword [0x71405c]
cmp edx, dword [esi + 0x42c]
je 0x4dd48a
mov eax, dword [0x714050]
cmp eax, edi
je 0x4dd39a
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [0x714050], edi
lea eax, [esp + 0x60]
mov edx, 0x2c
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], edi
cld
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
rep stosb byte es:[edi], al
mov eax, dword [0x708fd4]
mov ecx, dword [esi + 0x428]
mov dword [esp + 0x60], edx
mov edx, dword [esi + 0x42c]
add edx, dword [0x708fe8]
push eax
neg edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov word [esp + 0x72], 0x20
mov word [esp + 0x70], 1
call ebp
push 0
push 0
push 0x714054
push 0
lea ecx, [esp + 0x70]
mov edi, eax
push ecx
push edi
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov edx, dword [0x708fd4]
push edi
push edx
mov dword [0x714050], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x714060
call fcn.0051dcf0
mov eax, dword [esi + 0x42c]
mov ecx, dword [0x708fe8]
add eax, ecx
imul eax, dword [esi + 0x428]
add esp, 4
add eax, eax
add eax, eax
je 0x4dd46b
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0
cld
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [0x714054]
rep stosb byte es:[edi], al
mov ecx, dword [0x708fe8]
mov eax, dword [esi + 0x428]
mov ebx, dword [0x8e8138]
mov dword [0x714058], eax
mov edx, dword [esi + 0x42c]
mov dword [0x71405c], edx
jmp 0x4dd490
mov ecx, dword [0x708fe8]
mov edi, dword [esi + 0x428]
mov ebp, dword [esi + 0x42c]
xor eax, eax
cmp dword [esp + 0x4c0], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebp
jne 0x4dd914
cmp dword [0x714498], 0x108
jl 0x4dd877
mov eax, edi
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x14], eax
add eax, eax
add eax, eax
sub edi, eax
mov eax, dword [esi + 0x18]
test eax, eax
mov dword [esp + 0x34], edi
jne 0x4dd7bd
cmp dword [esi + 0xc], 0xff0000
jne 0x4dd59c
cmp dword [esi + 0x10], 0xff00
jne 0x4dd59c
cmp dword [esi + 0x14], 0xff
jne 0x4dd59c
mov eax, dword [esi + 0x428]
lea edx, [eax*4]
imul eax, ecx
mov ecx, dword [0x714054]
mov edi, edx
mov edx, dword [esi + 0x430]
sub edx, edi
and ebx, 0xffffff
test ebp, ebp
lea edi, [ecx + eax*4]
mov ecx, dword [esi + 0x434]
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], ebx
je 0x4ddada
mov edx, dword [esi + 0x428]
test edx, edx
je 0x4dd58c
nop
mov eax, dword [ecx]
mov ebx, eax
and ebx, 0xffffff
cmp ebx, dword [esp + 0x14]
jne 0x4dd578
mov dword [edi], 0
jmp 0x4dd57f
or eax, 0xff000000
mov dword [edi], eax
sub edx, 1
add ecx, 4
add edi, 4
test edx, edx
jne 0x4dd560
add ecx, dword [esp + 0x38]
sub ebp, 1
test ebp, ebp
jne 0x4dd555
jmp 0x4ddada
test eax, eax
jne 0x4dd7bd
cmp dword [esi + 0xc], 0xf800
jne 0x4dd7bd
cmp dword [esi + 0x10], 0x7e0
jne 0x4dd7bd
cmp dword [esi + 0x14], 0x1f
jne 0x4dd7bd
mov edx, dword [esi + 0x428]
lea eax, [edx + edx]
imul edx, ecx
mov ecx, dword [0x714054]
mov edi, eax
mov eax, dword [esi + 0x430]
mov esi, dword [esi + 0x434]
sub eax, edi
mov edi, ebx
shr edi, 3
lea ecx, [ecx + edx*4]
and edi, 0x1f0000
mov edx, ebx
and edx, 0xfc00
or edi, edx
shr edi, 2
and ebx, 0xf8
or edi, ebx
shr edi, 3
test ebp, ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], ebp
je 0x4ddada
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4dd74e
lea esp, [esp]
movzx edx, word [esi]
cmp edx, edi
jne 0x4dd63f
mov dword [ecx], 0
jmp 0x4dd66e
mov ebx, edx
and ebx, 0xfffff800
or ebx, 0xffff0000
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov ebp, edx
and ebp, 0x7e0
or ebx, ebp
add ebx, ebx
add ebx, ebx
and edx, 0x1f
or ebx, edx
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov dword [ecx], ebx
movzx edx, word [esi + 2]
cmp edx, edi
jne 0x4dd67f
mov dword [ecx + 4], 0
jmp 0x4dd6b3
movzx edx, word [esi + 2]
mov ebx, edx
and ebx, 0xfffff800
or ebx, 0xffff0000
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov ebp, edx
and ebp, 0x7e0
or ebx, ebp
add ebx, ebx
add ebx, ebx
and edx, 0x1f
or ebx, edx
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov dword [ecx + 4], ebx
movzx edx, word [esi + 4]
cmp edx, edi
jne 0x4dd6c4
mov dword [ecx + 8], 0
jmp 0x4dd6f8
movzx edx, word [esi + 4]
mov ebx, edx
and ebx, 0xfffff800
or ebx, 0xffff0000
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov ebp, edx
and ebp, 0x7e0
or ebx, ebp
add ebx, ebx
add ebx, ebx
and edx, 0x1f
or ebx, edx
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov dword [ecx + 8], ebx
movzx edx, word [esi + 6]
cmp edx, edi
jne 0x4dd709
mov dword [ecx + 0xc], 0
jmp 0x4dd73d
movzx edx, word [esi + 6]
mov ebx, edx
and ebx, 0xfffff800
or ebx, 0xffff0000
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov ebp, edx
and ebp, 0x7e0
or ebx, ebp
add ebx, ebx
add ebx, ebx
and edx, 0x1f
or ebx, edx
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov dword [ecx + 0xc], ebx
sub eax, 1
add esi, 8
add ecx, 0x10
test eax, eax
jne 0x4dd630
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4dd7a1
movzx edx, word [esi]
cmp edx, edi
jne 0x4dd765
mov dword [ecx], 0
jmp 0x4dd794
mov ebx, edx
and ebx, 0xfffff800
or ebx, 0xffff0000
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov ebp, edx
and ebp, 0x7e0
or ebx, ebp
add ebx, ebx
add ebx, ebx
and edx, 0x1f
or ebx, edx
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov dword [ecx], ebx
sub eax, 1
add esi, 2
add ecx, 4
test eax, eax
jne 0x4dd756
mov eax, dword [esp + 0x18]
add esi, dword [esp + 0x38]
sub eax, 1
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4dd620
jmp 0x4ddada
push 0
push 0
push 0
mov eax, dword [esi + 0x428]
push 0
imul ecx, eax
push 0
push 0
push 0
push 0
lea edx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esi + 0x430]
push 0
push 0
push 0
push esi
push edx
mov edx, dword [esi + 0x434]
push edx
lea edx, [eax*4]
mov eax, dword [0x714054]
push 0x714060
push edx
lea ecx, [eax + ecx*4]
push ecx
call fcn.005217b0
mov edx, dword [esi + 0x428]
imul edx, dword [0x708fe8]
mov eax, dword [0x714054]
lea ecx, [eax + edx*4]
mov eax, dword [0x71405c]
imul eax, dword [0x714058]
mov edx, dword [0x8e8138]
add esp, 0x50
and edx, 0xffffff
test eax, eax
je 0x4ddada
lea ecx, [ecx]
mov esi, dword [ecx]
and esi, 0xffffff
cmp esi, edx
jne 0x4dd864
mov dword [ecx], 0
jmp 0x4dd868
mov byte [ecx + 3], 0xff
sub eax, 1
add ecx, 4
test eax, eax
jne 0x4dd850
jmp 0x4ddada
imul edi, ecx
and ebx, 0xffffff
cmp edi, eax
mov dword [esp + 0x14], ebx
je 0x4dd89d
mov dword [esp + 0x34], edi
cld
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov edi, dword [0x714054]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x8c]
push ecx
call fcn.0051dc80
push 0
mov ecx, dword [esp + 0x28]
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x428]
push 0
push 0
lea edx, [esp + 0x6c]
push edx
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esi + 0x430]
push edx
mov edx, dword [esi + 0x434]
push 0
push 0
push 0
push esi
push ecx
push edx
lea ecx, [esp + 0xd4]
push ecx
mov ecx, dword [0x708fe8]
imul ecx, eax
lea edx, [eax*4]
push edx
mov edx, dword [0x714054]
lea eax, [edx + ecx*4]
push eax
call fcn.005217b0
add esp, 0x54
jmp 0x4ddada
cmp dword [esi + 0x18], 0xff000000
jne 0x4dda16
cmp dword [esi + 0xc], 0xff0000
jne 0x4dda16
cmp dword [esi + 0x10], 0xff00
jne 0x4dda16
cmp dword [esi + 0x14], 0xff
jne 0x4dda16
mov eax, edi
mov edi, dword [esi + 0x430]
imul ecx, eax
lea edx, [eax*4]
mov eax, dword [0x714054]
sub edi, edx
mov edx, ebp
and ebx, 0xffffff
test edx, edx
lea ecx, [eax + ecx*4]
mov eax, dword [esi + 0x434]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x18], edx
je 0x4ddada
mov ebp, dword [esi + 0x428]
test ebp, ebp
je 0x4dda00
mov ebx, dword [eax]
mov edx, ebx
and edx, 0xffffff
cmp edx, dword [esp + 0x34]
je 0x4dd9e9
mov dl, byte [eax + 3]
test dl, dl
je 0x4dd9e9
cmp dl, 0xff
jne 0x4dd9b0
mov dword [ecx], ebx
jmp 0x4dd9ef
movzx edx, bl
movzx ebx, byte [eax + 3]
imul edx, ebx
sar edx, 8
mov byte [ecx], dl
movzx ebx, byte [eax + 3]
movzx edx, byte [eax + 1]
imul edx, ebx
sar edx, 8
mov byte [ecx + 1], dl
movzx edx, byte [eax + 3]
movzx ebx, byte [eax + 2]
imul edx, ebx
sar edx, 8
mov byte [ecx + 2], dl
mov dl, byte [eax + 3]
mov byte [ecx + 3], dl
jmp 0x4dd9ef
mov dword [ecx], 0
sub ebp, 1
add eax, 4
add ecx, 4
test ebp, ebp
jne 0x4dd990
mov edx, dword [esp + 0x18]
sub edx, 1
add eax, edi
test edx, edx
mov dword [esp + 0x18], edx
jne 0x4dd982
jmp 0x4ddada
push 0
push 0
push 0
push 0
push 0
push ebx
push 1
push 0
lea edx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esi + 0x430]
push 0
push 0
push 0
push esi
push edx
mov edx, dword [esi + 0x434]
push edx
mov eax, edi
lea edx, [eax*4]
imul eax, ecx
mov ecx, dword [0x714054]
push 0x714060
push edx
lea edx, [ecx + eax*4]
push edx
call fcn.005217b0
mov eax, dword [esi + 0x428]
imul eax, dword [0x708fe8]
mov ecx, dword [0x714054]
lea eax, [ecx + eax*4]
mov ecx, dword [0x71405c]
imul ecx, dword [0x714058]
add esp, 0x50
test ecx, ecx
je 0x4ddada
mov dl, byte [eax + 3]
test dl, dl
jne 0x4ddaa3
mov dword [eax], 0
jmp 0x4ddad0
cmp dl, 0xff
je 0x4ddad0
movzx esi, dl
movzx edx, byte [eax]
imul edx, esi
sar edx, 8
mov byte [eax], dl
movzx edx, byte [eax + 1]
imul edx, esi
sar edx, 8
mov byte [eax + 1], dl
movzx edx, byte [eax + 2]
imul edx, esi
sar edx, 8
mov byte [eax + 2], dl
sub ecx, 1
add eax, 4
test ecx, ecx
jne 0x4dda94
mov eax, dword [esp + 0x58]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ecx, dword [0x714050]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
mov esi, eax
push ecx
push esi
call edi
mov edx, dword [0x708fe8]
add dword [esp + 0x30], edx
cmp dword [esp + 0x4c0], 0
mov ebx, eax
jne 0x4ddb24
cmp dword [0x714498], 0x108
jge 0x4ddb24
mov eax, dword [esp + 0x5c]
push 1
push 0
push eax
jmp 0x4ddb41
push 2
lea eax, [esp + 0x14]
push eax
mov byte [esp + 0x18], 0
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0xff
mov byte [esp + 0x1b], 1
push 0
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x54]
push esi
lea edx, [esp + 0x40]
push edx
mov edx, dword [0x708fd4]
lea eax, [esp + 0x54]
push eax
push ecx
push edx
call dword [0x71404c]
push ebx
push esi
call edi
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov esi, dword [esp + 0x44]
xor edi, edi
mov eax, dword [esp + 0x58]
mov ecx, dword [0x708fd4]
mov ebx, dword [sym.imp.USER32.dll_ReleaseDC]
push eax
push ecx
call ebx
push esi
push edi
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4a4
ret