Function at 0x41cc80
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x50]
cmp eax, dword [ecx + 8]
jbe 0x41d567
sub esp, 0xd0
mov edx, dword [esp + 0xd4]
mov ebx, dword fs:[0x14]
mov eax, dword [ebx]
mov dword [esp + 0x74], eax
mov ebp, dword [eax + 0x18]
mov ebx, dword [ebp + 0x70]
cmp ebx, 0
jne 0x41ccf4
mov ebp, dword [eax + 0x18]
mov ebx, dword [ebp + 0x60]
cmp ebx, 0
jne 0x41ccf4
mov ebp, dword [eax + 0x18]
mov ecx, dword [ebp]
cmp ecx, eax
je 0x41ccf4
mov ebx, 0x5695e0
mov dword [esp], ebx
mov dword [esp + 4], 0x1c
call dbg.runtime.throw
mov edx, dword [esp + 0xd4]
mov esi, dword [0xb2ff00]
mov dword [esp + 0x24], esi
movzx ebp, byte [edx + 0x24]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x41d4a0
mov ebp, dword [edx + 0x18]
mov ebx, esi
dec ebx
cmp ebp, ebx
jne 0x41d4a0
movzx ebx, byte [0xb357c8]
cmp bl, 0
je 0x41cd33
call dbg.runtime.traceGCSweepStart
mov edx, dword [esp + 0xd4]
mov ebx, 0xb2f6e0
mov dword [esp], ebx
add dword [esp], 0x840
mov ebp, dword [edx + 0x10]
xor ecx, ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call dbg.runtime/internal/atomic.Xadd64
mov ebx, dword [esp + 0xd4]
movzx ebp, byte [ebx + 0x22]
xchg ebp, eax
mov byte [esp + 0x21], al
xchg ebp, eax
mov ebx, dword [esp + 0xd4]
mov ebp, dword [ebx + 0x28]
mov dword [esp + 0x2c], ebp
mov byte [esp + 0x1e], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov ebx, dword [esp + 0x74]
mov ebp, dword [ebx + 0x18]
mov ebx, dword [ebp + 0xac]
mov dword [esp + 0x70], ebx
mov byte [esp + 0x20], 0
mov ebx, dword [esp + 0xd4]
mov ebx, dword [ebx + 0xc]
shl ebx, 0xd
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0xd4]
mov edi, dword [ebx + 0x14]
xor ebx, ebx
cmp edi, ebx
je 0x41ce79
mov dword [esp + 0x3c], edi
mov ebx, dword [esp + 0x28]
cmp edi, ebx
jb 0x41d473
mov ebx, dword [esp + 0xd4]
mov ebp, dword [ebx + 0x38]
cmp ebp, edi
jbe 0x41d473
xor ebx, ebx
mov ebx, dword [0xb30160]
mov ebp, edi
sub ebp, ebx
mov ebx, dword [0xb30160]
mov ecx, edi
sub ecx, ebx
shr ecx, 2
xor ebx, ebx
mov ebp, dword [0xb30160]
mov dword [esp + 0x54], ebp
mov ebp, ecx
shr ebp, 2
mov esi, dword [esp + 0x54]
sub esi, ebp
dec esi
mov ebp, ecx
and ebp, 3
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ebp
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ebp
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa0], esi
movzx ebp, byte [esi]
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov ecx, dword [esp + 0xa4]
mov ebx, 0x10
cmp ecx, 8
jae 0x41d46c
shl ebx, cl
or bl, byte [esp + 0x23]
mov byte [esi], bl
mov edi, dword [edi]
xor ebx, ebx
cmp edi, ebx
jne 0x41cdcb
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0x68], ebx
cmp dword [esp + 0x68], 0
je 0x41d461
add dword [esp + 0x68], 0x40
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx]
xor ebp, ebp
cmp edi, ebp
je 0x41d100
mov ebx, dword [esp + 0xd4]
mov ebx, dword [ebx + 0xc]
shl ebx, 0xd
mov dword [esp + 0x54], ebx
movzx esi, word [edi + 4]
mov ebp, esi
mov esi, eax
mov ecx, edx
mov eax, ebp
mov ebp, dword [esp + 0x2c]
xor edx, edx
div ebp
mov ebx, eax
mov edx, ecx
mov eax, esi
imul ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x54]
add ebp, ebx
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x30]
xor ebx, ebx
mov ebx, dword [0xb30160]
mov ebp, ecx
sub ebp, ebx
mov ebx, dword [0xb30160]
sub ecx, ebx
shr ecx, 2
xor ebx, ebx
mov ebp, dword [0xb30160]
mov dword [esp + 0x50], ebp
mov ebp, ecx
shr ebp, 2
mov esi, dword [esp + 0x50]
sub esi, ebp
dec esi
and ecx, 3
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ecx
mov dword [esp + 0x80], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x90], ecx
movzx ebp, byte [ecx]
mov esi, ebp
mov ecx, dword [esp + 0x94]
mov ebx, 0x10
cmp ecx, 8
jae 0x41d45a
shl ebx, cl
mov ebp, esi
and ebp, ebx
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x41d450
xor ecx, ecx
cmp cl, 0
jne 0x41d0e1
mov byte [esp + 0x1f], 0
mov ebp, dword [esp + 0xd4]
mov ebx, dword [ebp + 0xc]
shl ebx, 0xd
mov ebp, dword [esp + 0x30]
sub ebp, ebx
mov ebx, ebp
add ebx, dword [esp + 0x2c]
mov dword [esp + 0x44], ebx
mov ecx, edi
xor ebp, ebp
cmp ecx, ebp
je 0x41d01c
movzx ebp, word [ecx + 4]
mov ebx, dword [esp + 0x44]
cmp ebp, ebx
jae 0x41d01c
movzx ebp, byte [ecx + 6]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jne 0x41d0da
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], esi
movzx ebp, byte [esi]
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov ecx, dword [esp + 0x9c]
mov ebx, 0x10
cmp ecx, 8
jae 0x41d0d3
shl ebx, cl
or bl, byte [esp + 0x22]
mov byte [esi], bl
mov byte [esp + 0x1f], 1
xor ebp, ebp
cmp edi, ebp
je 0x41ce9a
movzx ebp, word [edi + 4]
mov ebx, dword [esp + 0x44]
cmp ebp, ebx
jae 0x41ce9a
mov ebx, dword [esp + 0xd4]
mov ecx, dword [ebx + 0xc]
shl ecx, 0xd
movzx ebp, word [edi + 4]
mov ebx, ebp
mov ebp, ecx
add ebp, ebx
mov dword [esp + 0x34], ebp
movzx ebp, byte [edi + 6]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
je 0x41d07e
cmp byte [esp + 0x1f], 0
je 0x41d07e
mov dword [esp + 0x68], edi
cmp dword [esp + 0x68], 0
je 0x41d076
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx]
jmp 0x41d01c
mov dword [0], eax
jmp 0x41d06e
mov dword [esp + 0x64], edi
mov ebp, dword [edi]
mov dword [esp + 0x6c], ebp
mov ebx, dword [esp + 0x68]
cmp ebx, 0
je 0x41d0cf
cmp byte [0xb3d87c], 0
jne 0x41d0c1
mov dword [ebx], ebp
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 8], ebx
call dbg.runtime.freespecial
mov edi, dword [esp + 0x6c]
jmp 0x41d01c
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
jmp 0x41d09c
mov dword [ebx], eax
jmp 0x41d091
xor ebx, ebx
jmp 0x41d00f
mov ecx, dword [ecx]
jmp 0x41cfb4
mov dword [esp + 0x68], edi
cmp dword [esp + 0x68], 0
je 0x41d445
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx]
xor ebp, ebp
cmp edi, ebp
jne 0x41cea4
mov ecx, dword [esp + 0xd4]
xor esi, esi
mov edi, dword [ecx + 0x10]
shl edi, 0xd
mov ecx, dword [ecx + 0x28]
cmp ecx, 0
jbe 0x41d12f
mov dword [esp + 0x4c], eax
mov dword [esp + 0x60], edx
mov eax, edi
xor edx, edx
div ecx
mov esi, eax
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0xd4]
mov edx, dword [eax + 0xc]
shl edx, 0xd
lea eax, [esp + 0xb0]
mov ecx, 0x445400
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
movzx ebx, byte [esp + 0x21]
mov byte [eax + 8], bl
movzx ebx, byte [esp + 0xd8]
mov byte [eax + 9], bl
mov ecx, dword [esp + 0xd4]
mov dword [eax + 0xc], ecx
lea ebx, [esp + 0x20]
mov dword [eax + 0x10], ebx
lea ebx, [esp + 0x40]
mov dword [eax + 0x14], ebx
lea ebx, [esp + 0x48]
mov dword [eax + 0x18], ebx
lea ebx, [esp + 0x38]
mov dword [eax + 0x1c], ebx
mov dword [esp], edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
call dbg.runtime.heapBitsSweepSpan
movzx edi, byte [esp + 0x21]
mov eax, dword [esp + 0xd4]
cmp byte [esp + 0x20], 0
jne 0x41d334
mov ebx, dword [esp + 0x38]
cmp ebx, 0
je 0x41d334
mov ebx, dword [esp + 0x38]
cmp ebx, 0
jle 0x41d2bd
mov ebx, dword [esp + 0x70]
cmp ebx, 0
je 0x41d2b6
xchg edi, eax
movzx ebp, al
xchg edi, eax
lea esi, [ebx + 0x144]
cmp ebp, 0x43
jae 0x41d2af
shl ebp, 2
add esi, ebp
mov edx, dword [esi]
mov ecx, dword [esp + 0x38]
add ecx, edx
mov ebx, dword [esp + 0x70]
cmp ebx, 0
je 0x41d2a8
xchg edi, eax
movzx ebp, al
xchg edi, eax
lea esi, [ebx + 0x144]
cmp ebp, 0x43
jae 0x41d2a1
shl ebp, 2
add esi, ebp
mov dword [esi], ecx
xchg edi, eax
movzx ebx, al
xchg edi, eax
mov ebp, 0xb30170
cmp ebx, 0x43
jae 0x41d29a
imul ebx, ebx, 0x58
add ebp, ebx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x38]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xd8]
mov byte [esp + 0x14], bl
call dbg.runtime.(*mcentral).freeSpan
movzx ebx, byte [esp + 0x18]
mov byte [esp + 0x1e], bl
movzx ebx, byte [0xb357c8]
cmp bl, 0
je 0x41d287
call dbg.runtime.traceGCSweepDone
movzx ebx, byte [esp + 0x1e]
mov byte [esp + 0xdc], bl
add esp, 0xd0
ret
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
mov dword [ebx], eax
jmp 0x41d212
call dbg.runtime.panicindex
ud2
mov dword [ebx], eax
jmp 0x41d1e4
cmp byte [esp + 0x20], 0
je 0x41d276
mov ebx, dword [0xb3dbe8]
cmp ebx, 0
jle 0x41d315
xor ecx, ecx
mov dword [eax + 0x38], ecx
mov ebx, dword [eax + 0xc]
shl ebx, 0xd
mov dword [esp], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], ebx
call dbg.runtime.sysFault
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x140]
inc eax
mov dword [ecx + 0x140], eax
mov eax, dword [ecx + 0x13c]
add eax, dword [esp + 0x2c]
mov dword [ecx + 0x13c], eax
mov byte [esp + 0x1e], 1
jmp 0x41d276
mov ebx, 0xb2f6e0
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call dbg.runtime.(*mheap).freeSpan
mov ecx, dword [esp + 0x70]
jmp 0x41d2ee
movzx ebp, byte [eax + 0x24]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x41d37e
mov ebp, dword [eax + 0x18]
mov ebx, dword [esp + 0x24]
dec ebx
cmp ebp, ebx
jne 0x41d37e
mov dword [esp], eax
cmp dword [esp], 0
je 0x41d376
add dword [esp], 0x18
mov ebx, dword [esp + 0x24]
mov dword [esp + 4], ebx
call dbg.runtime/internal/atomic.Store
movzx edi, byte [esp + 0x21]
mov eax, dword [esp + 0xd4]
jmp 0x41d1ca
mov dword [0], eax
jmp 0x41d354
movzx ebp, byte [eax + 0x24]
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x5c], ebp
call dbg.runtime.printlock
mov ebx, 0x55dca0
mov dword [esp], ebx
mov dword [esp + 4], 0x13
call dbg.runtime.printstring
movzx ebx, byte [esp + 0x22]
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call dbg.runtime.printint
mov ebx, 0x5543a0
mov dword [esp], ebx
mov dword [esp + 4], 0xa
call dbg.runtime.printstring
mov ebx, dword [esp + 0x5c]
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call dbg.runtime.printint
mov ebx, 0x55c1e0
mov dword [esp], ebx
mov dword [esp + 4], 0x10
call dbg.runtime.printstring
mov ebx, dword [esp + 0x24]
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call dbg.runtime.printint
mov ebx, 0x548cfc
mov dword [esp], ebx
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov ebx, 0x570660
mov dword [esp], ebx
mov dword [esp + 4], 0x27
call dbg.runtime.throw
mov eax, dword [esp + 0xd4]
jmp 0x41d34b
mov dword [0], eax
jmp 0x41d0f0
mov ecx, 1
jmp 0x41cf87
xor ebx, ebx
jmp 0x41cf74
mov dword [0], eax
jmp 0x41ce8f
xor ebx, ebx
jmp 0x41ce65
mov ebx, dword [esp + 0xd4]
mov dword [esp], ebx
call dbg.runtime.dumpFreeList
mov ebx, 0x55f8e0
mov dword [esp], ebx
mov dword [esp + 4], 0x13
call dbg.runtime.throw
mov edi, dword [esp + 0x3c]
jmp 0x41cded
movzx ebp, byte [edx + 0x24]
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov ebp, dword [edx + 0x18]
mov dword [esp + 0x58], ebp
call dbg.runtime.printlock
mov ebx, 0x55dca0
mov dword [esp], ebx
mov dword [esp + 4], 0x13
call dbg.runtime.printstring
movzx ebx, byte [esp + 0x23]
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call dbg.runtime.printint
mov ebx, 0x5543a0
mov dword [esp], ebx
mov dword [esp + 4], 0xa
call dbg.runtime.printstring
mov ebx, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call dbg.runtime.printint
mov ebx, 0x55c1e0
mov dword [esp], ebx
mov dword [esp + 4], 0x10
call dbg.runtime.printstring
mov ebx, dword [esp + 0x24]
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call dbg.runtime.printint
mov ebx, 0x548cfc
mov dword [esp], ebx
mov dword [esp + 4], 1
call dbg.runtime.printstring
call dbg.runtime.printunlock
mov ebx, 0x566680
mov dword [esp], ebx
mov dword [esp + 4], 0x1b
call dbg.runtime.throw
mov edx, dword [esp + 0xd4]
jmp 0x41cd1b
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.(*mspan).sweep