Function at 0x4d4e6c
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffdc
mov ebx, edx
mov esi, eax
mov eax, dword [ebx]
sub eax, 0xb013
je 0x4d4e85
dec eax
je 0x4d4ea5
jmp 0x4d4ec3
cmp dword [ebx + 8], 0
jne 0x4d4ec3
cmp word [esi + 0x3f2], 0
je 0x4d4ec3
mov edx, esi
mov eax, dword [esi + 0x3f4]
call dword [esi + 0x3f0]
jmp 0x4d4ec3
cmp dword [ebx + 8], 0
jne 0x4d4ec3
cmp word [esi + 0x3ea], 0
je 0x4d4ec3
mov edx, esi
mov eax, dword [esi + 0x3ec]
call dword [esi + 0x3e8]
cmp dword [ebx], 0xa100
jne 0x4d5210
movzx eax, word [ebx + 6]
cmp eax, 7
jg 0x4d4ef9
je 0x4d4f17
dec eax
je 0x4d501c
dec eax
je 0x4d4f23
dec eax
je 0x4d505b
sub eax, 3
je 0x4d5191
jmp 0x4d5210
sub eax, 9
je 0x4d51e3
dec eax
je 0x4d51c5
sub eax, 0x29
je 0x4d51d7
jmp 0x4d5210
mov dword [ebx + 0xc], 1
jmp 0x4d599c
mov eax, dword [esi + 0x3c8]
call fcn.005592f0
cmp eax, dword [ebx + 8]
jne 0x4d5210
cmp dword [esi + 0x3e4], 0
je 0x4d599c
mov eax, dword [esi + 0x22c]
call fcn.0047b608
lea eax, [esi + 0x3e4]
call fcn.0040ef88
push 0x727
push 0
push 0
push 0
push 0
push 0
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [esi + 0x3c8]
cmp byte [eax + 5], 0
jne 0x4d4fae
mov eax, dword [esi + 0x70]
call fcn.00426b04
push eax
mov eax, esi
call fcn.0044cb38
pop edx
call fcn.0042efa0
mov eax, dword [esi + 0x70]
call fcn.00426b04
push eax
mov eax, esi
call fcn.0044cb38
pop edx
call fcn.0042f224
mov eax, dword [esi + 0x22c]
call fcn.0047b7e4
xor edx, edx
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 0x18]
call fcn.00426b04
push eax
mov eax, esi
call fcn.0044cb38
pop edx
call fcn.0042f20c
cmp byte [esi + 0x277], 0
je 0x4d5004
mov eax, esi
call fcn.0044cb38
call fcn.0042f3b4
or eax, 1
push eax
mov eax, esi
call fcn.0044cb38
pop edx
call fcn.0042f39c
push 0x40
push 0
push 0
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4d599c
mov eax, dword [esi + 0x3c8]
call fcn.005592f0
cmp eax, dword [ebx + 8]
jne 0x4d5210
mov eax, ebx
mov edx, dword [esi + 0x3c8]
call fcn.0055b0fc
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00559f04
mov edx, eax
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x12c]
jmp 0x4d599c
mov eax, dword [esi + 0x3c8]
call fcn.005592f0
cmp eax, dword [ebx + 8]
jne 0x4d5210
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00559f04
test al, al
je 0x4d599c
cmp byte [esi + 0x389], 0
jne 0x4d599c
mov eax, dword [esi + 0x22c]
call fcn.0047b608
mov dl, 1
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, esi
call fcn.0044ce3c
test al, al
je 0x4d50ca
cmp dword [0x58ee74], 0
je 0x4d50ca
mov eax, esi
call fcn.0044cb38
push eax
call dword [0x58ee74]
lea edx, [esi + 0x3e4]
mov eax, dword [esi + 0x3c8]
call fcn.004f48f8
mov eax, ebx
mov edx, dword [esi + 0x3c8]
call fcn.0055b0fc
mov ebx, dword [esi + 0x3c8]
cmp byte [ebx + 5], 0
jne 0x4d511f
mov eax, ebx
call fcn.005592f0
mov eax, dword [eax + 0x78bc]
mov edx, dword [esi + 0x3c8]
mov edx, dword [edx + 0x90]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov edx, dword [eax + edx*8 + 0x1c]
mov eax, esi
call fcn.00446430
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00559f04
test al, al
je 0x4d515d
mov eax, esi
call fcn.0044cb38
call fcn.0042f3b4
test al, 1
je 0x4d515d
mov eax, esi
call fcn.0044cb38
call fcn.0042f3b4
and eax, 0xfffffffe
push eax
mov eax, esi
call fcn.0044cb38
pop edx
call fcn.0042f39c
mov eax, esi
call fcn.004d92dc
mov eax, esi
call fcn.004d6b94
push 0x585
push 0
push 0
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_RedrawWindow
mov eax, dword [esi + 0x22c]
call fcn.0047b7e4
jmp 0x4d599c
mov edi, dword [esi + 0x3c8]
cmp byte [edi + 0x25], 0
jne 0x4d5210
xor edx, edx
mov eax, edi
call fcn.00559f04
test al, al
je 0x4d5210
mov eax, dword [esi + 0x3c8]
xor edx, edx
mov dword [eax + 0x48], edx
mov byte [eax + 0x25], 0
mov eax, esi
call fcn.004d6210
jmp 0x4d599c
mov eax, dword [esi + 0x3c8]
movzx eax, byte [eax + 0x25]
mov dword [ebx + 0xc], eax
jmp 0x4d599c
mov dword [ebx + 0xc], 1
jmp 0x4d599c
mov eax, dword [esi + 0x3c8]
call fcn.005592f0
test eax, eax
je 0x4d599c
mov eax, dword [esi + 0x3c8]
call fcn.005592f0
mov eax, dword [eax + 0x78fc]
inc eax
mov dword [ebx + 0xc], eax
jmp 0x4d599c
test byte [esi + 0x54], 0x40
jne 0x4d5230
cmp dword [esi + 0x3c8], 0
je 0x4d5230
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00559f04
test al, al
jne 0x4d523e
mov edx, ebx
mov eax, esi
call fcn.0047e554
jmp 0x4d58b1
mov eax, dword [ebx]
cmp eax, 0x317
jg 0x4d5275
je 0x4d52c2
add eax, 0xfffffff9
sub eax, 2
jb 0x4d53b3
sub eax, 0x7c
je 0x4d5518
sub eax, 0x8f
je 0x4d554c
dec eax
je 0x4d5406
jmp 0x4d5601
add eax, 0xffffefe6
sub eax, 2
jb 0x4d52ad
sub eax, 5
je 0x4d5290
sub eax, 0xa008
je 0x4d52a1
jmp 0x4d5601
mov edx, ebx
mov eax, esi
call fcn.004d5a0c
mov dword [ebx + 0xc], eax
jmp 0x4d599c
mov dword [ebx + 0xc], 1
jmp 0x4d599c
mov eax, dword [ebx + 8]
cmp dword [eax + 0x18], 0xffffffff
jne 0x4d5601
and dword [eax], 0xffffffef
jmp 0x4d5601
cmp byte [esi + 0x215], 3
jne 0x4d599c
cmp dword [esi + 0x3e4], 0
je 0x4d599c
mov edi, dword [esi + 0x3e4]
mov eax, dword [ebx + 4]
push eax
call sub.gdi32.dll_SaveDC
mov ebp, eax
mov eax, esi
call fcn.004d5c10
mov edx, eax
add edx, dword [edi + 0x84]
mov ecx, dword [edi + 0x84]
mov eax, dword [ebx + 4]
call fcn.00444bcc
push 0
mov ecx, dword [ebx + 4]
mov edx, 0x14
mov eax, esi
call fcn.00447468
mov eax, dword [edi + 0x7c]
xor ecx, ecx
mov edx, 1
call fcn.004f5714
mov edx, dword [edi + 0x7c]
movzx edx, byte [edx + 0x24]
imul edx
push eax
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x20]
mov edx, dword [edi + 0x84]
add edx, edx
sub eax, edx
pop edx
sub eax, edx
push eax
mov eax, dword [edi + 0x80]
xor ecx, ecx
mov edx, 1
call fcn.004f5714
mov edx, dword [edi + 0x80]
movzx edx, byte [edx + 0x24]
imul edx
push eax
mov eax, dword [edi + 0x68]
mov eax, dword [eax + 0x4c]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [edi + 0x84]
add edx, edx
sub eax, edx
pop edx
sub eax, edx
push eax
push 0
push 0
mov eax, dword [ebx + 4]
push eax
call sub.gdi32.dll_IntersectClipRect
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x68]
mov dword [edx + 0x48], eax
mov edx, ebx
mov eax, esi
call fcn.004d5ce8
push ebp
mov eax, dword [ebx + 4]
push eax
call sub.gdi32.dll_RestoreDC
jmp 0x4d599c
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4d53cf
mov eax, dword [esi + 0x3e4]
mov edx, dword [eax]
call dword [edx + 0xc]
mov eax, esi
call fcn.0047eaf8
test eax, eax
je 0x4d5601
mov eax, esi
call fcn.0047eaf8
call fcn.0047b36c
push eax
mov eax, esi
call fcn.0047eaf8
call fcn.0047b36c
mov edx, eax
mov eax, esi
pop ecx
call fcn.0047cac4
jmp 0x4d5601
mov dl, 1
mov eax, dword [esi + 0x3e4]
call fcn.004f4a68
cmp word [ebx + 4], 5
jne 0x4d5505
mov eax, dword [ebx + 8]
test eax, eax
jne 0x4d5429
movzx eax, word [ebx + 6]
cmp eax, dword [0x58cdd4]
je 0x4d599c
mov ebx, eax
sub ebx, dword [0x58cdd4]
cmp byte [esi + 0x215], 3
jne 0x4d5469
push 0
mov eax, esi
call fcn.0044cb38
lea ecx, [esp + 8]
xor edx, edx
call fcn.0042f0a8
lea eax, [esp + 4]
xor edx, edx
call fcn.005463d0
imul ebx
mov ebx, eax
mov al, byte [esi + 0x215]
sub al, 2
jb 0x4d5477
sub al, 1
jne 0x4d54f0
push 0
push 0
push 0xb
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_SendMessageA
mov eax, esi
call fcn.0044cb38
mov ecx, ebx
xor edx, edx
call fcn.0042f0f4
push 0
push 1
push 0xb
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_SendMessageA
lea edx, [esp + 4]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x44]
test ebx, ebx
jge 0x4d54c8
mov eax, dword [esp + 8]
sub eax, ebx
mov dword [esp + 0x10], eax
jmp 0x4d54d2
mov eax, dword [esp + 0x10]
sub eax, ebx
mov dword [esp + 8], eax
push 0x181
push 0
lea eax, [esp + 0xc]
push eax
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_RedrawWindow
jmp 0x4d599c
mov eax, esi
call fcn.0044cb38
mov ecx, ebx
xor edx, edx
call fcn.0042f0f4
jmp 0x4d599c
xor eax, eax
mov dword [ebx + 8], eax
mov edx, ebx
mov eax, esi
call fcn.0047e554
jmp 0x4d599c
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4d599c
mov eax, dword [esi + 0x3c8]
cmp byte [eax + 0x8c], 0
je 0x4d5601
mov eax, esi
call fcn.004d6b94
jmp 0x4d5601
mov ax, word [ebx + 4]
sub ax, 2
jb 0x4d55cb
sub ax, 3
jne 0x4d55e2
mov eax, dword [ebx + 8]
test eax, eax
setne dl
movzx ecx, word [ebx + 6]
xchg edx, eax
call fcn.00546060
mov ebx, eax
sub ebx, dword [0x58cdd4]
cmp byte [esi + 0x215], 2
jne 0x4d55a6
push 0
mov eax, esi
call fcn.0044cb38
lea ecx, [esp + 8]
xor edx, edx
call fcn.0042f0a8
lea eax, [esp + 4]
xor edx, edx
call fcn.005463bc
imul ebx
mov ebx, eax
mov eax, esi
call fcn.0044cb38
xor ecx, ecx
mov edx, ebx
call fcn.0042f0f4
xor edx, edx
mov eax, esi
call fcn.004d7028
mov eax, esi
call fcn.004d6210
jmp 0x4d599c
mov edx, ebx
mov eax, esi
call fcn.0047e554
mov dl, 1
mov eax, esi
call fcn.004d7028
jmp 0x4d599c
mov edx, ebx
mov eax, esi
call fcn.0047e554
push 0xffffffffffffffff
push 0
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_InvalidateRect
jmp 0x4d599c
mov eax, ebx
mov edx, dword [esi + 0x3c8]
call fcn.0055b0fc
test al, al
jne 0x4d599c
mov edx, ebx
mov eax, esi
call fcn.0047e554
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00559f04
test al, al
je 0x4d58b1
mov eax, dword [ebx]
cmp eax, 0x20a
jg 0x4d5685
je 0x4d579b
cmp eax, 0x7d
jg 0x4d566e
je 0x4d5812
sub eax, 3
je 0x4d5862
sub eax, 2
je 0x4d5862
sub eax, 0x42
je 0x4d5862
jmp 0x4d58b1
sub eax, 0x85
je 0x4d5859
sub eax, 0x17b
je 0x4d56da
jmp 0x4d58b1
cmp eax, 0xb019
jg 0x4d56bc
je 0x4d57d3
add eax, 0xffffeff9
sub eax, 2
jb 0x4d583b
sub eax, 0xc
je 0x4d583b
add eax, 0xffff600a
sub eax, 2
jb 0x4d5862
jmp 0x4d58b1
sub eax, 0xb043
je 0x4d579b
add eax, 0xfffff343
sub eax, 2
jb 0x4d57b4
jmp 0x4d58b1
mov eax, dword [0x58d8fc]
cmp dword [eax], 6
jl 0x4d58b1
lea eax, [esp + 0x1c]
call fcn.00522ecc
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x14]
mov eax, esi
call fcn.00445dd4
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov eax, esi
call fcn.0047ed3c
mov edi, eax
test edi, edi
je 0x4d58b1
mov eax, dword [esi + 0x22c]
call fcn.0047b4f4
mov edx, eax
xor ecx, ecx
mov eax, dword [esi + 0x3d8]
call fcn.005460c8
test al, al
je 0x4d58b1
mov eax, edi
call fcn.0047b36c
mov ebp, dword [esi + 0x3d8]
cmp eax, ebp
je 0x4d58b1
mov edx, ebp
mov eax, dword [esi + 0x22c]
call fcn.0047b524
lea ecx, [esp + 4]
xor edx, edx
call fcn.0047b388
push 0xffffffffffffffff
lea eax, [esp + 8]
push eax
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_InvalidateRect
mov dword [esi + 0x3d8], 0xffffffff
jmp 0x4d58b1
cmp word [ebx + 4], 0
jne 0x4d58b1
xor edx, edx
mov eax, esi
call fcn.004d7028
jmp 0x4d58b1
mov ax, word [ebx + 4]
add eax, 0xffffffdf
sub ax, 8
jae 0x4d58b1
xor edx, edx
mov eax, esi
call fcn.004d7028
jmp 0x4d58b1
mov eax, esi
call fcn.0044ce3c
test al, al
je 0x4d57f5
cmp dword [0x58ee74], 0
je 0x4d57f5
mov eax, esi
call fcn.0044cb38
push eax
call dword [0x58ee74]
lea edx, [esi + 0x3e4]
mov eax, dword [esi + 0x3c8]
call fcn.004f48f8
mov eax, esi
call fcn.004d92dc
jmp 0x4d58b1
test byte [esi + 0x54], 8
jne 0x4d58b1
mov eax, esi
call fcn.0044cb38
xor ecx, ecx
xor edx, edx
call fcn.0042f0f4
mov dl, 1
mov eax, dword [esi + 0x3e4]
call fcn.004f4a68
jmp 0x4d58b1
mov eax, dword [esi + 0x3c8]
call fcn.00559300
test al, al
jne 0x4d58b1
mov dl, 1
mov eax, dword [esi + 0x3e4]
call fcn.004f4a68
jmp 0x4d58b1
mov eax, esi
call fcn.004d6210
jmp 0x4d58b1
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00559f04
test al, al
je 0x4d58b1
test byte [esi + 0x1c], 8
jne 0x4d58b1
mov eax, esi
call fcn.0044cb38
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x4d58b1
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.00447468
mov byte [esi + 0x38a], 1
mov dl, 1
mov eax, esi
call fcn.004d7028
mov byte [esi + 0x38a], 0
mov eax, dword [esi + 0x3c4]
test eax, eax
je 0x4d58c4
mov edx, ebx
mov ecx, esi
call fcn.0055c75c
mov eax, dword [ebx]
sub eax, 0x2c
je 0x4d5961
sub eax, 0x100a
je 0x4d58e6
sub eax, 0xabf6
je 0x4d5961
jmp 0x4d599c
cmp byte [0x58cbcc], 0
jne 0x4d599c
xor edx, edx
mov eax, dword [esi + 0x3c8]
call fcn.00559f04
test al, al
je 0x4d599c
mov byte [0x58cbcc], 1
mov eax, esi
call fcn.0044cb38
call fcn.0042f3b4
mov edi, eax
mov eax, edi
and eax, 1
test eax, eax
je 0x4d592f
cmp byte [esi + 0x277], 0
jne 0x4d5933
xor ebx, ebx
jmp 0x4d5935
mov bl, 1
and ebx, 0x7f
test eax, eax
je 0x4d594d
mov eax, esi
call fcn.0044cb38
mov edx, edi
and edx, 0xfffffffe
call fcn.0042f39c
test ebx, ebx
je 0x4d5958
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x7c]
mov byte [0x58cbcc], 0
jmp 0x4d599c
cmp word [esi + 0x3d2], 0
je 0x4d599c
cmp byte [esi + 0x215], 3
jne 0x4d599c
mov edi, dword [ebx + 8]
mov eax, dword [edi + 0x10]
mov dword [esp], eax
push esp
mov ecx, dword [edi + 8]
mov edx, esi
mov eax, dword [esi + 0x3d4]
call dword [esi + 0x3d0]
mov eax, dword [esp]
mov dword [edi + 0x10], eax
mov dword [ebx + 0xc], 1
add esp, 0x24
pop ebp
pop edi
pop esi
pop ebx
ret