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

Disassembly:
mov ecx, dword [0x7762b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x543337
sub esp, 0xc8
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x542967
mov edx, dword [eax + 0x18]
lea ebx, [0x5b8ec0]
cmp ecx, ebx
jne 0x5428ea
mov ebp, dword [edx + 0x6c]
mov esi, ebp
lea ebp, [0x5b8e80]
jmp 0x5428fb
lea ebp, [0x5b8e80]
cmp ecx, ebp
jne 0x543320
mov esi, dword [edx + 0x5c]
cmp esi, 2
jb 0x542929
cmp ecx, ebx
jne 0x542909
mov edx, dword [edx + 0x78]
jmp 0x542914
cmp ecx, ebp
jne 0x54330a
mov edx, dword [edx + 0x68]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x34], edx
mov ebp, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
xor esi, esi
jmp 0x5429aa
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xc8
ret
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xc8
ret
inc esi
mov ecx, dword [esp + 0x60]
cmp esi, ebp
jge 0x5429d6
mov edi, dword [eax + esi*4]
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x5429a5
mov ecx, dword [edi + 0xc]
cmp edx, ecx
jb 0x5429a5
sub edx, ecx
cmp dword [edi + 8], edx
ja 0x5429cc
mov edx, dword [esp + 0x34]
jmp 0x5429a5
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
jmp 0x5429d8
xor edi, edi
test edi, edi
je 0x542aa0
mov dword [esp + 0xa4], edi
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x10]
nop
lea edx, [0x634bf4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call sym.internal_saferio.ReadDataAt
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x542a66
mov edx, dword [esp + 0xa4]
mov ebx, dword [edx + 0xc]
mov eax, dword [esp + 0x34]
sub eax, ebx
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jb 0x543305
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
sub ebp, eax
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
sub ecx, eax
add ebx, ebp
xor eax, eax
xor ebp, ebp
xor edi, edi
jmp 0x542b0e
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xc8
ret
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xc8
ret
mov edi, esi
lea esi, [esp + 0x88]
call fcn.0046b12a
mov ecx, dword [esp + 0x40]
add ecx, 0xffffffec
mov esi, dword [esp + 0xa8]
mov esi, eax
mov eax, edx
mov edi, ebx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x38], edi
mov dword [esp + 0x68], ebp
cmp ecx, 0x14
jl 0x542c4e
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
lea edi, [esp + 0x88]
xor eax, eax
call fcn.0046ac59
lea ecx, [esi - 0x14]
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, 0x14
mov esi, dword [ebx]
mov dword [esp + 0x88], esi
mov esi, dword [ebx + 4]
mov dword [esp + 0x8c], esi
mov esi, dword [ebx + 8]
mov dword [esp + 0x90], esi
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x94], esi
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x88]
add ecx, ebx
test esi, esi
je 0x542c4e
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa8], ecx
mov ebx, dword [esp + 0x38]
inc ebx
mov esi, edx
mov edx, dword [esp + 0x3c]
cmp edx, ebx
jae 0x542be0
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5dd0e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0xa4]
mov edx, eax
mov eax, dword [esp + 0x5c]
mov edi, dword [0x776370]
imul esi, ebx, 0x1c
lea esi, [esi + ebp - 0x1c]
test edi, edi
je 0x542ade
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0xc0], esi
lea eax, [0x5dd0e0]
mov dword [esp], eax
mov dword [esp + 4], esi
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
jmp 0x542ade
mov eax, dword [edx + 0x3c]
mov ecx, dword [edx + 0x10]
nop
lea ebx, [0x634bf4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call sym.internal_saferio.ReadDataAt
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0x38]
xor edi, edi
xor edi, edi
mov dword [esp + 0x4c], edi
xor edi, edi
mov dword [esp + 0xac], edi
xor edi, edi
jmp 0x542cee
mov edx, dword [esp + 0xbc]
add edx, 0x1c
mov ebx, dword [esp + 0x5c]
lea esi, [ebx - 1]
mov ebx, dword [esp + 0xac]
mov ecx, edi
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0xa4]
mov eax, edx
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
test esi, esi
jle 0x542dd5
mov dword [esp + 0x5c], esi
mov dword [esp + 0x48], edi
mov dword [esp + 0xbc], eax
lea edi, [esp + 0x6c]
mov esi, eax
call fcn.0046b12a
mov ecx, dword [esp + 0x78]
sub ecx, dword [ebp + 0xc]
test ecx, ecx
jl 0x542d2a
cmp edx, ecx
jle 0x542d2a
mov esi, dword [esp + 0x64]
mov edi, ecx
jmp 0x5432ba
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], ecx
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x10]
nop
lea edx, [0x634bf4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call sym.internal_saferio.ReadDataAt
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xa4]
sub eax, dword [ecx + 0xc]
mov edx, dword [esp + 0x1c]
cmp edx, eax
jb 0x5432ab
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
sub ebp, eax
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
sub edx, eax
add ebx, ebp
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x64]
jmp 0x542e22
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
jmp 0x542cbf
mov ebp, dword [esp + 0x60]
jmp 0x542cbf
mov eax, dword [esp + 0xac]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xc8
ret
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x44]
test edx, edx
je 0x542cbf
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x40], edx
lea ebx, [0x5b8ec0]
cmp ebp, ebx
jne 0x542f45
cmp esi, 8
jb 0x54329f
mov ebx, dword [esp + 0xa8]
movzx ebp, byte [ebx]
movzx edi, byte [ebx + 1]
mov dword [esp + 0x50], edi
shl edi, 8
or ebp, edi
mov edi, ebp
mov ebp, dword [esp + 0x50]
shr ebp, 0x18
movzx eax, byte [ebx + 2]
mov dword [esp + 0x50], eax
shl eax, 0x10
or edi, eax
mov eax, ebx
mov ebx, dword [esp + 0x50]
shr ebx, 0x10
or ebx, ebp
movzx ebp, byte [eax + 3]
mov dword [esp + 0x50], ebp
shr ebp, 8
or ebp, ebx
mov ebx, dword [esp + 0x50]
shl ebx, 0x18
movzx ecx, byte [eax + 4]
or ecx, ebp
movzx ebp, byte [eax + 5]
shl ebp, 8
or ecx, ebp
movzx ebp, byte [eax + 6]
shl ebp, 0x10
or ebp, ecx
movzx ecx, byte [eax + 7]
shl ecx, 0x18
or edi, ebx
or ebp, ecx
cmp edx, 8
jb 0x543293
lea ebx, [esi - 8]
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
add ebx, eax
test ebp, ebp
sete al
test edi, edi
xchg esi, ebx
sete bl
xchg esi, ebx
and eax, esi
test al, al
jne 0x542db4
mov dword [esp + 0x58], ecx
mov dword [esp + 0xa8], ebx
and ebp, 0x80000000
test ebp, ebp
jbe 0x542f14
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xac]
jmp 0x5431fa
mov eax, dword [esp + 0xa4]
mov ebp, dword [eax + 0xc]
sub edi, ebp
lea ebp, [edi + 2]
test ebp, ebp
jl 0x542f38
mov esi, dword [esp + 0x2c]
cmp esi, ebp
jle 0x542f3c
mov dword [esp + 0x50], ebp
jmp 0x54323d
mov esi, dword [esp + 0x2c]
xor ebp, ebp
xor edi, edi
jmp 0x543127
cmp esi, 4
jb 0x54311b
cmp edx, 4
jb 0x54310f
add esi, 0xfffffffc
mov dword [esp + 0x44], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
mov ebx, dword [esp + 0xa8]
mov ebp, dword [ebx]
add ebx, esi
test ebp, ebp
je 0x542dcc
test ebp, 0x80000000
jbe 0x542f92
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
jmp 0x5430ae
mov dword [esp + 0xb8], ebx
mov esi, dword [ecx + 0xc]
sub ebp, esi
lea esi, [ebp + 2]
test esi, esi
jl 0x542fb2
cmp eax, esi
jle 0x542fb2
mov dword [esp + 0x50], esi
jmp 0x5430be
xor ebp, ebp
xor esi, esi
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
lea ebx, [0x634228]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call sym.runtime.concatstring3
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x58]
cmp edx, ebx
jb 0x543018
mov ebp, dword [esp + 0xac]
jmp 0x543067
mov dword [esp + 0x58], ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5c2b80]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x58]
lea esi, [ebp + ebx*8 - 4]
mov dword [esi], ecx
mov ecx, dword [0x776370]
lea esi, [ebp + ebx*8 - 8]
test ecx, ecx
je 0x543087
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xa4]
mov edi, dword [esp + 0x64]
mov esi, edx
mov dword [esp + 0xac], ebp
mov edx, dword [esp + 0x40]
mov ebp, ebx
mov ebx, dword [esp + 0xb8]
add edx, 0xfffffffc
jmp 0x542e12
inc esi
mov ecx, dword [esp + 0xa4]
cmp esi, eax
jge 0x543106
movzx ecx, byte [esi + edi]
test cl, cl
jne 0x5430b6
mov dword [esp], 0
mov eax, dword [esp + 0x30]
sub eax, ebp
sub esi, ebp
add eax, 0xfffffffe
neg eax
sar eax, 0x1f
mov edx, dword [esp + 0x50]
and eax, edx
add eax, edi
mov dword [esp + 4], eax
lea eax, [esi - 2]
mov dword [esp + 8], eax
call sym.runtime.slicebytetostring
mov esi, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
jmp 0x542fb6
xor ebp, ebp
xor esi, esi
jmp 0x542fb6
mov eax, 4
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, 4
mov edx, esi
call sym.runtime.panicSliceAcap
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
lea ebx, [0x634228]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call sym.runtime.concatstring3
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x54]
cmp edx, ebx
jb 0x543189
mov ebp, dword [esp + 0xac]
jmp 0x5431d8
mov dword [esp + 0x54], ecx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5c2b80]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x54]
lea esi, [ebp + ebx*8 - 4]
mov dword [esi], ecx
mov ecx, dword [0x776370]
lea esi, [ebp + ebx*8 - 8]
test ecx, ecx
je 0x5431f8
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff8
mov ecx, dword [esp + 0xa4]
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x44], esi
mov esi, edx
mov dword [esp + 0xac], ebp
mov edx, eax
mov ebp, ebx
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0xa8]
jmp 0x542e12
inc ebp
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x58]
cmp ebp, esi
jge 0x54328a
mov eax, dword [esp + 0x64]
movzx ecx, byte [ebp + eax]
test cl, cl
jne 0x543231
mov dword [esp], 0
mov ecx, dword [esp + 0x30]
sub ecx, edi
sub ebp, edi
add ecx, 0xfffffffe
neg ecx
sar ecx, 0x1f
mov ebx, dword [esp + 0x50]
and ecx, ebx
add ecx, eax
mov dword [esp + 4], ecx
lea ecx, [ebp - 2]
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
jmp 0x543127
xor ebp, ebp
xor edi, edi
jmp 0x543127
mov eax, 8
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, 8
mov edx, esi
call sym.runtime.panicSliceAcap
mov ecx, edx
call sym.runtime.panicSliceBU
inc ecx
mov eax, dword [esp + 0xbc]
cmp ecx, edx
jge 0x5432fc
movzx eax, byte [ecx + esi]
test al, al
jne 0x5432b2
mov dword [esp], 0
sub ebx, edi
neg ebx
sar ebx, 0x1f
and ebx, edi
lea edx, [esi + ebx]
mov dword [esp + 4], edx
sub ecx, edi
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xa4]
jmp 0x542d2e
xor ecx, ecx
xor esi, esi
jmp 0x542d2e
call sym.runtime.panicSliceBU
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5c3880]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x5c3880]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeE
nop
call sym.runtime.morestack_noctxt
jmp sym.debug_pe._File_.ImportedSymbols