Function at 0x4dd4b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x7a1414]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4ddaee
sub esp, 0x74
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4dd6f8
mov ecx, dword [eax]
test ecx, ecx
je 0x4dd6cb
movzx ecx, byte [eax + 0x7e]
mov byte [esp], cl
call sym.cmd_internal_obj.CConv
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x78]
movzx ebx, word [edx + 0x74]
mov word [esp], bx
call sym.cmd_internal_obj.As.String
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.io.WriteString
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
call sym.io.WriteString
mov eax, dword [esp + 0x78]
movzx ecx, byte [eax + 0xe]
test cl, cl
jne 0x4dd571
mov ecx, 1
lea edx, [0x639664]
jmp 0x4dd5d4
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
lea edx, [0x639664]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call sym.io.WriteString
mov eax, dword [esp + 0x78]
lea ecx, [eax + 8]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0
call sym.cmd_internal_obj.writeDconv
mov eax, dword [esp + 0x78]
mov ecx, 2
lea edx, [0x5e53fd]
movzx ebx, word [eax + 0x76]
test bx, bx
je 0x4dd6c0
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], ecx
movsx eax, bx
mov dword [esp], eax
call sym.cmd_internal_obj.Rconv
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 4], edx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x60]
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 dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov edx, dword [esp + 0x80]
mov dword [esp + 4], edx
lea ebx, [0x5e5d2a]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
lea ebp, [esp + 0x64]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call sym.fmt.Fprintf
mov eax, dword [esp + 0x78]
mov ecx, 2
lea edx, [0x5e53fd]
mov ebx, dword [eax + 0x2c]
mov dword [esp + 0x48], ebx
xor ebp, ebp
jmp 0x4dd726
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
lea eax, [0x5f1df9]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x13
call sym.io.WriteString
add esp, 0x74
ret
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
lea eax, [0x5ec306]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xa
call sym.io.WriteString
add esp, 0x74
ret
inc ebp
cmp ebp, ebx
jge 0x4dd7d1
mov esi, dword [eax + 0x2c]
cmp ebp, esi
jae 0x4ddae4
mov esi, dword [eax + 0x28]
lea edi, [ebp + ebp*8]
lea esi, [esi + edi*4 + 0x20]
movzx esi, byte [esi]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4dd725
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call sym.io.WriteString
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x38]
cmp edx, ecx
jae 0x4ddadd
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x44]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0
call sym.cmd_internal_obj.writeDconv
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x38]
mov ecx, 2
lea edx, [0x5e53fd]
jmp 0x4dd725
cmp word [eax + 0x74], 0xc
jne 0x4dd8d0
mov dword [esp + 0x5c], edx
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp], ecx
call sym.cmd_internal_obj._LSym_.TextAttrString
mov eax, dword [esp + 8]
test eax, eax
jne 0x4dd804
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
jmp 0x4dd8c8
mov dword [esp + 0x30], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov edx, dword [esp + 0x80]
mov dword [esp + 4], edx
lea ebx, [0x5e5d2e]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
lea ebx, [esp + 0x64]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call sym.fmt.Fprintf
mov eax, 2
lea ecx, [0x5e53fd]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x78]
movzx ebx, byte [eax + 0x3a]
test bl, bl
je 0x4dd931
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call sym.io.WriteString
mov eax, dword [esp + 0x78]
lea ecx, [eax + 0x34]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0
call sym.cmd_internal_obj.writeDconv
mov eax, dword [esp + 0x78]
mov ecx, 2
lea edx, [0x5e53fd]
movzx ebx, word [eax + 0x78]
test bx, bx
je 0x4dda1a
mov dword [esp + 0x58], edx
mov dword [esp + 0x3c], ecx
movsx eax, bx
mov dword [esp], eax
call sym.cmd_internal_obj.Rconv
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov edx, dword [esp + 0x58]
mov dword [esp], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c9180]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x60]
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 dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
lea edx, [0x5e5d2a]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
lea edx, [esp + 0x64]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call sym.fmt.Fprintf
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x58]
mov ebx, dword [eax + 0x2c]
mov dword [esp + 0x48], ebx
xor ebp, ebp
jmp 0x4dda26
inc ebp
cmp ebp, ebx
jge 0x4ddac9
mov esi, dword [eax + 0x2c]
cmp ebp, esi
jae 0x4ddad4
mov esi, dword [eax + 0x28]
lea edi, [ebp + ebp*8]
lea esi, [esi + edi*4 + 0x20]
cmp byte [esi], 1
jne 0x4dda25
mov dword [esp + 0x44], edi
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call sym.io.WriteString
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x34]
cmp edx, ecx
jae 0x4ddacd
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x44]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0
call sym.cmd_internal_obj.writeDconv
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x34]
mov ecx, 2
lea edx, [0x5e53fd]
jmp 0x4dda25
add esp, 0x74
ret
mov eax, edx
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, esi
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, esi
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.cmd_internal_obj._Prog_.WriteInstructionString