Function at 0x52eae0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [0x7a1414]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x7c]
cmp eax, dword [ecx + 8]
jbe 0x52f5c1
sub esp, 0xfc
mov edx, dword [esp + 0x104]
movzx ebx, word [edx + 0x7c]
test ebx, ebx
jne 0x52eb83
movsx ebx, byte [edx + 0x10]
test ebx, ebx
jne 0x52eb3e
mov eax, dword [esp + 0x100]
mov dword [esp], eax
lea ecx, [edx + 8]
mov dword [esp + 4], ecx
call sym.cmd_internal_obj_ppc64._ctxt9_.aclass
mov eax, dword [esp + 8]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x104]
mov byte [eax + 0x10], bl
mov edx, eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], 1
mov dword [esp + 0x58], 1
mov ebp, dword [edx + 0x28]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x8c], eax
xor ecx, ecx
jmp 0x52ebcd
mov ecx, dword [0x759934]
lea eax, [ebx - 1]
cmp ecx, eax
jbe 0x52eba9
shl eax, 4
mov ecx, dword [0x759930]
add eax, ecx
mov dword [esp + 0x108], eax
add esp, 0xfc
ret
call sym.runtime.panicIndex
mov ecx, dword [esp + 0xf4]
lea ebp, [ecx + 0x24]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x70]
cmp ecx, eax
jge 0x52ec96
mov dword [esp + 0x34], ecx
mov dword [esp + 0xf4], ebp
lea edi, [esp + 0xcc]
mov esi, ebp
call fcn.00468736
lea eax, [0x5cf780]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [0x7a14d8]
mov edi, dword [esp + 4]
mov dword [esp + 0xf8], edi
test eax, eax
je 0x52ec35
lea eax, [0x5cf780]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xcc]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0xf8]
lea esi, [esp + 0xcc]
call fcn.00468736
mov eax, dword [esp + 0x34]
cmp eax, 3
jae 0x52f5b6
mov edx, dword [esp + 0xf8]
movsx ebx, byte [edx + 8]
mov dword [esp + eax*4 + 0x50], ebx
test ebx, ebx
jne 0x52ebae
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.cmd_internal_obj_ppc64._ctxt9_.aclass
mov eax, dword [esp + 8]
inc eax
mov ecx, dword [esp + 0x34]
mov dword [esp + ecx*4 + 0x50], eax
mov edx, dword [esp + 0xf8]
mov byte [edx + 8], al
mov eax, ecx
jmp 0x52ebae
movsx ebp, byte [edx + 0x3c]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x8c], esi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x88], edi
mov eax, dword [esp + 0x58]
mov dword [esp + 0x84], eax
test ebp, ebp
jne 0x52ed0a
mov eax, dword [esp + 0x100]
mov dword [esp], eax
lea ecx, [edx + 0x34]
mov dword [esp + 4], ecx
call sym.cmd_internal_obj_ppc64._ctxt9_.aclass
mov eax, dword [esp + 8]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x104]
xchg ebp, ebx
mov byte [eax + 0x3c], bl
xchg ebp, ebx
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x5c], ebp
movzx ecx, word [edx + 0x76]
test cx, cx
jne 0x52ed1b
xor ecx, ecx
jmp 0x52ed59
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov word [esp + 4], cx
call sym.cmd_internal_obj_ppc64._ctxt9_.aclassreg
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
mov ecx, eax
mov eax, dword [esp + 0x84]
movzx edx, word [edx + 0x74]
and edx, 0x7ff
cmp edx, 0x363
jae 0x52f5aa
lea ebp, [ebx - 1]
lea edx, [edx + edx*2]
lea edi, [0x762980]
mov eax, dword [edi + edx*4]
mov dword [esp + 0x90], eax
mov eax, dword [edi + edx*4 + 4]
mov edx, dword [edi + edx*4 + 8]
cmp ebp, 0x2c
jae 0x52f59e
mov dword [esp + 0x2c], edx
imul edi, ebx, 0x2c
lea edx, [0x7a3860]
lea edi, [edi + edx - 0x2c]
cmp ecx, 0x2c
jae 0x52f592
mov dword [esp + 0x6c], ecx
lea ebx, [esi - 1]
imul ecx, ecx, 0x2c
add ecx, edx
cmp ebx, 0x2c
jae 0x52f586
mov dword [esp + 0x80], ebp
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x88]
lea ebp, [ebx - 1]
imul esi, esi, 0x2c
lea esi, [esi + edx - 0x2c]
cmp ebp, 0x2c
jae 0x52f57a
mov dword [esp + 0x64], ebp
mov dword [esp + 0xc0], esi
mov ebp, dword [esp + 0x84]
lea esi, [ebp - 1]
imul ebx, ebx, 0x2c
lea ebx, [ebx + edx - 0x2c]
cmp esi, 0x2c
jae 0x52f56e
mov dword [esp + 0x60], esi
mov dword [esp + 0xbc], ebx
mov esi, dword [esp + 0x5c]
lea ebx, [esi - 1]
imul ebp, ebp, 0x2c
lea ebp, [ebp + edx - 0x2c]
cmp ebx, 0x2c
jae 0x52f562
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xb8], ebp
imul esi, esi, 0x2c
lea edx, [esi + edx - 0x2c]
mov dword [esp + 0xb4], edx
mov esi, dword [esp + 0x90]
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x74]
jmp 0x52ee75
mov edx, dword [esp + 0x30]
inc edx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x30]
cmp ebx, eax
jge 0x52efc8
shl ebx, 4
movzx edx, byte [esi + ebx + 2]
lea ebp, [esi + ebx]
cmp edx, 0x2c
jae 0x52f556
movzx edx, byte [edx + edi]
test dl, dl
je 0x52ef81
movzx edx, byte [esi + ebx + 3]
cmp edx, 0x2c
jae 0x52f54a
movzx edx, byte [edx + ecx]
test dl, dl
je 0x52ef6e
movzx edx, byte [esi + ebx + 4]
cmp edx, 0x2c
jae 0x52f53e
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0xc0]
movzx edx, byte [edx + ebp]
test dl, dl
je 0x52ef5b
movzx edx, byte [esi + ebx + 5]
cmp edx, 0x2c
jae 0x52f532
mov ebp, dword [esp + 0xbc]
movzx edx, byte [edx + ebp]
test dl, dl
je 0x52ef48
movzx edx, byte [esi + ebx + 6]
cmp edx, 0x2c
jae 0x52f526
mov ebp, dword [esp + 0xb8]
movzx edx, byte [edx + ebp]
test dl, dl
je 0x52ef3c
movzx edx, byte [esi + ebx + 7]
cmp edx, 0x2c
jae 0x52f51a
mov ebx, dword [esp + 0xb4]
movzx edx, byte [edx + ebx]
test dl, dl
je 0x52ee61
jmp 0x52ef94
mov ebx, dword [esp + 0xb4]
jmp 0x52ee61
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
jmp 0x52ee61
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
jmp 0x52ee61
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
jmp 0x52ee61
mov ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
jmp 0x52ee61
mov eax, dword [0x759938]
mov ecx, dword [esp + 0x2c]
sub eax, ecx
mov ecx, dword [esp + 0x30]
lea eax, [eax + ecx + 1]
mov ecx, dword [esp + 0x104]
mov word [ecx + 0x7c], ax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x108], eax
add esp, 0xfc
ret
mov ecx, dword [0x732bac]
mov edx, dword [esp + 0x80]
cmp ecx, edx
jbe 0x52f513
mov dword [esp + 0x28], eax
mov eax, dword [0x732ba8]
mov ecx, dword [esp + 0x70]
lea eax, [eax + ecx*8 - 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov ecx, dword [0x732bac]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
cmp ebx, ecx
jae 0x52f50c
mov dword [esp + 0xac], eax
mov dword [esp + 0x4c], edx
mov eax, dword [0x732ba8]
lea eax, [eax + ebx*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov ecx, dword [0x732bac]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x68]
cmp ecx, ebx
jbe 0x52f505
mov dword [esp + 0x48], edx
mov dword [esp + 0xa8], eax
mov eax, dword [0x732ba8]
mov ecx, dword [esp + 0x8c]
lea eax, [eax + ecx*8 - 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov ecx, dword [0x732bac]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x64]
cmp ecx, ebx
jbe 0x52f4fe
mov dword [esp + 0xa4], eax
mov dword [esp + 0x44], edx
mov eax, dword [0x732ba8]
mov ecx, dword [esp + 0x88]
lea eax, [eax + ecx*8 - 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov ecx, dword [0x732bac]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x60]
cmp ecx, ebx
jbe 0x52f4f7
mov dword [esp + 0xa0], eax
mov dword [esp + 0x40], edx
mov eax, dword [0x732ba8]
mov ecx, dword [esp + 0x84]
lea eax, [eax + ecx*8 - 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov ecx, dword [0x732bac]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x7c]
cmp ecx, ebx
jbe 0x52f4f0
mov dword [esp + 0x9c], eax
mov dword [esp + 0x3c], edx
mov eax, dword [0x732ba8]
mov ecx, dword [esp + 0x5c]
lea eax, [eax + ecx*8 - 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov eax, dword [esp + 0x100]
mov eax, dword [eax]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x98], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], edx
lea ebx, [0x5c86e0]
mov dword [esp], ebx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x104]
movzx edx, word [ecx + 0x74]
mov word [esp], dx
call sym.runtime.convT16
mov eax, dword [esp + 4]
lea ecx, [0x5cb320]
mov edx, dword [esp + 0xf0]
mov dword [edx], ecx
mov ecx, dword [0x7a14d8]
test ecx, ecx
je 0x52f262
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 4]
mov dword [edi + 4], ecx
mov dword [edx + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov edx, dword [esp + 0xf0]
mov dword [edx + 8], ecx
mov ebx, dword [0x7a14d8]
test ebx, ebx
je 0x52f2a7
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0x10], ecx
mov ebx, dword [0x7a14d8]
test ebx, ebx
je 0x52f2ec
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0x14]
mov dword [edi + 4], ebx
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0x18], ecx
mov ebx, dword [0x7a14d8]
test ebx, ebx
je 0x52f331
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0x1c]
mov dword [edi + 4], ebx
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0x20], ecx
mov ebx, dword [0x7a14d8]
test ebx, ebx
je 0x52f376
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0x24]
mov dword [edi + 4], ebx
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0x28], ecx
mov ebx, dword [0x7a14d8]
test ebx, ebx
je 0x52f3bb
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0x2c]
mov dword [edi + 4], ebx
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0x30], ecx
mov ecx, dword [0x7a14d8]
test ecx, ecx
je 0x52f400
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 0x34]
mov dword [edi + 4], ecx
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0xb0]
inc dword [eax + 0x90]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax]
lea ebx, [0x5fbafd]
mov dword [esp], ebx
mov dword [esp + 4], 0x28
mov dword [esp + 8], edx
mov dword [esp + 0xc], 7
mov dword [esp + 0x10], 7
mov edx, eax
call ecx
nop
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
lea eax, [0x5de540]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc8], eax
mov eax, dword [0x7594ac]
lea ecx, [0x63c244]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5e596b]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
lea eax, [esp + 0xc4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 1
call sym.fmt.Fprintf
mov eax, dword [esp + 0x90]
test eax, eax
je 0x52f4c9
mov edx, dword [esp + 0x28]
jmp 0x52f4d5
mov eax, dword [0x759930]
mov edx, dword [0x759934]
test edx, edx
jbe 0x52f4e7
mov dword [esp + 0x108], eax
add esp, 0xfc
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, edx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, edx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, edx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, edx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, edx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, esi
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, 0x2c
call sym.runtime.panicIndex
mov eax, edx
mov ecx, 0x363
call sym.runtime.panicIndex
mov ecx, 3
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_obj_ppc64._ctxt9_.oplook