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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x52075d
sub esp, 0xb8
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
test edx, edx
jne 0x5204f7
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x2c]
lea ecx, [ecx + edx*2]
mov edx, dword [eax + 0x38]
lea ebx, [ecx + edx]
movzx ebp, byte [eax + 0x4c]
movzx esi, byte [eax + 0x40]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5204ee
lea ebp, [esi + 1]
mov esi, 5
mov edi, dword [eax + 0x48]
test edi, edi
jle 0x51f8ac
lea esi, [esi + edi + 5]
inc ebp
mov edi, dword [eax + 0x54]
test edi, edi
jle 0x51f8b8
lea esi, [esi + edi*2 + 2]
inc ebp
mov edi, dword [eax + 0x60]
test edi, edi
jle 0x51f8c4
lea esi, [edi + esi + 1]
inc ebp
movzx edi, byte [eax + 0x68]
xchg edi, eax
test al, al
xchg edi, eax
je 0x51f8d4
mov edi, dword [eax + 0x70]
add esi, edi
inc ebp
mov edi, dword [eax + 0x7c]
test edi, edi
jle 0x51f8e0
lea esi, [esi + edi*2 + 2]
inc ebp
movzx edi, byte [eax + 0x90]
xchg edi, eax
test al, al
xchg edi, eax
je 0x51f8f8
mov edi, dword [eax + 0x88]
lea esi, [edi + esi + 1]
inc ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ecx
mov edi, dword [eax + 0x98]
mov ebx, dword [eax + 0x94]
test edi, edi
jle 0x5204e7
mov dword [esp + 0x58], edx
add esi, 2
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
jmp 0x51f93f
add ebx, 8
inc ecx
lea esi, [edx + esi + 1]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
cmp ecx, edi
jge 0x51f960
mov edx, dword [ebx + 4]
test edx, edx
je 0x520743
cmp edx, 0xff
jg 0x520743
jmp 0x51f92b
lea ecx, [ebp + 1]
movzx ebx, byte [eax + 0x4d]
test bl, bl
je 0x51f96c
inc ecx
mov dword [esp + 0x34], ecx
mov ebx, dword [esp + 0x5c]
lea edx, [ebx + edx + 0x26]
test ecx, ecx
jle 0x5204de
lea edx, [esi + ecx*4]
mov ebx, dword [esp + 0x60]
lea ebx, [edx + ebx + 0x28]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], edx
lea eax, [0x604e20]
mov dword [esp], eax
lea eax, [ebx + 4]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call dbg.runtime.makeslice
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
test eax, eax
jbe 0x52073c
mov byte [ecx], 1
cmp eax, 1
jbe 0x520735
mov ebx, dword [esp + 0x38]
mov ebp, ebx
sar ebx, 0x10
mov byte [ecx + 1], bl
cmp eax, 2
jbe 0x52072e
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [ecx + 2], al
xchg ebp, eax
cmp eax, 3
jbe 0x520727
mov byte [ecx + 3], bl
mov ebx, dword [esp + 0xbc]
movzx ebp, word [ebx + 0xc]
cmp eax, 4
jbe 0x520720
shr bp, 8
xchg ebp, eax
mov byte [ecx + 4], al
xchg ebp, eax
movzx ebp, word [ebx + 0xc]
cmp eax, 5
jbe 0x520719
xchg ebp, eax
mov byte [ecx + 5], al
xchg ebp, eax
cmp edx, 0x26
jb 0x520712
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov ebp, dword [ebx + 0x14]
mov esi, dword [ebx + 0x10]
cmp ebp, 0x20
jge 0x5204d4
mov dword [esp + 0xa8], ecx
lea eax, [ecx + 6]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call dbg.runtime.memmove
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x24]
cmp edx, 0x26
jbe 0x52070b
mov ebx, dword [esp + 0xa8]
mov byte [ebx + 0x26], cl
mov ecx, dword [eax + 0x20]
lea ebp, [ecx + 0x27]
mov esi, dword [eax + 0x1c]
cmp ebp, 0x27
jb 0x520704
mov edi, dword [esp + 0x28]
cmp ebp, edi
ja 0x520704
lea eax, [edi - 0x27]
neg eax
sar eax, 0x1f
and eax, 0x27
add eax, ebx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call dbg.runtime.memmove
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x20]
add ecx, 0x27
mov edx, dword [esp + 0x24]
cmp ecx, edx
ja 0x5206fd
sub edx, ecx
mov ebp, dword [esp + 0x28]
sub ebp, ecx
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
mov ebp, dword [esp + 0xa8]
lea esi, [ecx + ebp]
mov ebx, dword [eax + 0x2c]
test edx, edx
jbe 0x5206f6
sar ebx, 7
mov byte [ebp + ecx], bl
mov ebx, dword [eax + 0x2c]
cmp edx, 1
jbe 0x5206ef
mov dword [esp + 0x60], edi
shl ebx, 1
mov byte [ebp + ecx + 1], bl
mov ecx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
jmp 0x51fb54
mov byte [ebp + esi + 3], al
add ebx, 2
mov eax, dword [esp + 0x3c]
inc eax
mov ebp, dword [esp + 0xa8]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xbc]
mov ebp, dword [esp + 0x3c]
cmp ebp, ecx
jge 0x51fb84
movzx edi, word [ebx]
shl ebp, 1
lea eax, [ebp + 2]
cmp eax, edx
jae 0x5206e8
mov eax, edi
shr di, 8
xchg edi, eax
mov byte [ebp + esi + 2], al
xchg edi, eax
lea edi, [ebp + 3]
cmp edi, edx
jb 0x51fb32
jmp 0x5206e1
mov ecx, dword [eax + 0x2c]
shl ecx, 1
add ecx, 2
cmp ecx, edx
ja 0x5206da
sub edx, ecx
sub edi, ecx
mov ebx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ecx
lea ecx, [edi + esi]
mov ebp, dword [eax + 0x38]
test edx, edx
jbe 0x5206d3
mov dword [esp + 0x1c], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0xa4], ecx
xchg ebp, eax
mov byte [esi + edi], al
xchg ebp, eax
lea ebp, [ebx - 1]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebp, ecx
lea esi, [edx - 1]
mov edi, dword [eax + 0x38]
mov ecx, dword [eax + 0x34]
cmp esi, edi
jle 0x5204cd
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call dbg.runtime.memmove
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x38]
inc ecx
mov edx, dword [esp + 0x1c]
cmp ecx, edx
ja 0x5206cc
sub edx, ecx
mov ebx, dword [esp + 0x60]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ecx, ebx
mov ebx, dword [esp + 0xa4]
lea esi, [ecx + ebx]
mov edi, dword [esp + 0x34]
test edi, edi
jle 0x5204c4
test edx, edx
jbe 0x5206c5
mov edi, dword [esp + 0x40]
sar edi, 8
xchg edi, eax
mov byte [ebx + ecx], al
xchg edi, eax
cmp edx, 1
jbe 0x5206be
mov edi, dword [esp + 0x40]
xchg edi, eax
mov byte [ebx + ecx + 1], al
xchg edi, eax
lea ecx, [ebp - 2]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, esi
add edx, 0xfffffffe
movzx ebp, byte [eax + 0x40]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5204bd
test edx, edx
jbe 0x5206b7
mov byte [ecx], 0x33
cmp edx, 1
jbe 0x5206b0
mov byte [ecx + 1], 0x74
cmp edx, 4
jb 0x5206a9
add ebx, 0xfffffffc
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
add ecx, ebx
add edx, 0xfffffffc
mov ebx, dword [eax + 0x48]
test ebx, ebx
jg 0x52036e
movzx ebx, byte [eax + 0x4c]
test bl, bl
je 0x51fd1e
test edx, edx
jbe 0x520663
mov byte [ecx], 0
cmp edx, 1
jbe 0x52065c
mov byte [ecx + 1], 5
cmp edx, 2
jbe 0x520655
mov byte [ecx + 2], 0
cmp edx, 3
jbe 0x52064e
mov byte [ecx + 3], 5
cmp edx, 4
jbe 0x520647
mov byte [ecx + 4], 1
cmp edx, 9
jb 0x520640
lea ebx, [ebp - 9]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 9
add ecx, ebx
add edx, 0xfffffff7
mov ebx, dword [eax + 0x54]
test ebx, ebx
jle 0x51fdf4
test edx, edx
jbe 0x520639
mov byte [ecx], 0
cmp edx, 1
jbe 0x520632
mov byte [ecx + 1], 0xa
mov ebx, dword [eax + 0x54]
cmp edx, 2
jbe 0x52062b
shl ebx, 1
lea esi, [ebx + 2]
mov edi, esi
sar esi, 8
xchg esi, eax
mov byte [ecx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x520624
xchg edi, eax
mov byte [ecx + 3], al
xchg edi, eax
cmp edx, 4
jbe 0x52061d
mov esi, ebx
sar ebx, 8
mov byte [ecx + 4], bl
cmp edx, 5
jbe 0x520616
xchg esi, eax
mov byte [ecx + 5], al
xchg esi, eax
lea ebx, [ebp - 6]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 6
add ecx, ebx
add edx, 0xfffffffa
mov ebx, dword [eax + 0x54]
mov esi, dword [eax + 0x50]
xor edi, edi
jmp 0x51fdd0
movzx eax, word [esp + 0x1a]
mov byte [ecx + 1], al
add esi, 2
inc edi
add ebp, 0xfffffffe
mov eax, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ecx, ebp
add edx, 0xfffffffe
mov ebp, eax
mov eax, dword [esp + 0xbc]
cmp edi, ebx
jge 0x51fdf4
movzx eax, word [esi]
test edx, edx
jbe 0x52060f
mov word [esp + 0x1a], ax
shr ax, 8
mov byte [ecx], al
cmp edx, 1
ja 0x51fda5
jmp 0x520608
mov ebx, dword [eax + 0x60]
test ebx, ebx
jle 0x51fe95
test edx, edx
jbe 0x520601
mov byte [ecx], 0
cmp edx, 1
jbe 0x5205fa
mov byte [ecx + 1], 0xb
mov ebx, dword [eax + 0x60]
cmp edx, 2
jbe 0x5205f3
lea esi, [ebx + 1]
mov edi, esi
sar esi, 8
xchg esi, eax
mov byte [ecx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x5205ec
xchg edi, eax
mov byte [ecx + 3], al
xchg edi, eax
cmp edx, 4
jbe 0x5205e5
mov byte [ecx + 4], bl
lea ebx, [ebp - 5]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 5
add ecx, ebx
add edx, 0xfffffffb
mov ebx, dword [eax + 0x60]
mov esi, dword [eax + 0x5c]
xor edi, edi
jmp 0x51fe85
mov byte [ecx], al
inc esi
inc edi
dec ebp
mov eax, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ecx, ebp
dec edx
mov ebp, eax
mov eax, dword [esp + 0xbc]
cmp edi, ebx
jge 0x51fe95
movzx eax, byte [esi]
test edx, edx
ja 0x51fe66
jmp 0x5205de
movzx ebx, byte [eax + 0x68]
test bl, bl
jne 0x5202ba
mov ebx, dword [eax + 0x7c]
test ebx, ebx
jle 0x5202af
test edx, edx
jbe 0x5205b4
mov byte [ecx], 0
cmp edx, 1
jbe 0x5205ad
mov byte [ecx + 1], 0xd
mov ebx, dword [eax + 0x7c]
cmp edx, 2
jbe 0x5205a6
shl ebx, 1
lea esi, [ebx + 2]
mov edi, esi
sar esi, 8
xchg esi, eax
mov byte [ecx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x52059f
xchg edi, eax
mov byte [ecx + 3], al
xchg edi, eax
lea esi, [ebp - 4]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
lea edi, [ecx + esi]
lea eax, [edx - 4]
test eax, eax
jbe 0x520598
mov dword [esp + 0x60], ebx
sar ebx, 8
mov byte [ecx + esi], bl
cmp eax, 1
jbe 0x520591
mov eax, dword [esp + 0x60]
mov byte [ecx + esi + 1], al
lea eax, [ebp - 6]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 2
add eax, edi
add edx, 0xfffffffa
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 0x7c]
mov dword [esp + 0x60], ebp
mov esi, dword [ebx + 0x78]
xor edi, edi
jmp 0x51ff78
xchg ebp, ebx
mov byte [eax + 1], bl
xchg ebp, ebx
add esi, 2
inc edi
add ecx, 0xfffffffe
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add eax, ecx
add edx, 0xfffffffe
mov ecx, dword [esp + 0x60]
mov ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xbc]
cmp edi, ebp
jge 0x51ff97
movzx ebx, byte [esi]
movzx ebp, byte [esi + 1]
test edx, edx
jbe 0x52058a
mov byte [eax], bl
cmp edx, 1
ja 0x51ff4c
jmp 0x520583
movzx ebp, byte [ebx + 0x90]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5202a4
test edx, edx
jbe 0x52057c
mov byte [eax], 0xff
cmp edx, 1
jbe 0x520575
mov byte [eax + 1], 1
cmp edx, 2
jbe 0x52056e
mov byte [eax + 2], 0
mov ebp, dword [ebx + 0x88]
cmp edx, 3
jbe 0x520567
inc ebp
xchg ebp, ebx
mov byte [eax + 3], bl
xchg ebp, ebx
mov ebp, dword [ebx + 0x88]
cmp edx, 4
jbe 0x520560
xchg ebp, ebx
mov byte [eax + 4], bl
xchg ebp, ebx
add ecx, 0xfffffffb
mov dword [esp + 0x20], ecx
neg ecx
sar ecx, 0x1f
and ecx, 5
add eax, ecx
lea ecx, [edx - 5]
mov dword [esp + 0x1c], ecx
mov edx, dword [ebx + 0x84]
mov esi, dword [ebx + 0x88]
cmp ecx, esi
jle 0x52029d
mov dword [esp + 0xa4], eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call dbg.runtime.memmove
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x88]
mov edx, dword [esp + 0x1c]
cmp ecx, edx
ja 0x520559
sub edx, ecx
mov ebx, dword [esp + 0x20]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov ecx, dword [esp + 0xa4]
add ecx, ebx
mov ebx, dword [eax + 0x98]
test ebx, ebx
jle 0x520294
test edx, edx
jbe 0x520552
mov byte [ecx], 0
cmp edx, 1
jbe 0x52054b
mov byte [ecx + 1], 0x10
lea ebx, [ebp - 2]
neg ebx
sar ebx, 0x1f
and ebx, 2
cmp edx, 6
jb 0x520544
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], ebx
add ebp, 0xfffffffa
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 6
add ebp, ecx
lea edi, [edx - 6]
mov ecx, dword [eax + 0x98]
mov dword [esp + 0x5c], ecx
mov eax, dword [eax + 0x94]
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
jmp 0x52014e
mov ebx, dword [esp + 0xac]
add ebx, 8
mov ebp, dword [esp + 0x58]
inc ebp
sub edx, ecx
mov esi, dword [esp + 0x20]
sub esi, ecx
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
mov esi, dword [esp + 0xb0]
add ecx, esi
mov esi, dword [esp + 0x2c]
lea eax, [eax + esi + 1]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x2c], eax
mov esi, edi
mov ebp, ecx
mov edi, edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
mov eax, ebx
mov ebx, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
cmp ebx, ecx
jge 0x5201c2
mov edx, dword [eax + 4]
mov ecx, dword [eax]
test edi, edi
jbe 0x52053d
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x4c], edi
mov dword [esp + 0xac], eax
mov byte [ebp], dl
dec esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add esi, ebp
lea ebp, [edi - 1]
cmp ebp, edx
jle 0x5201be
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call dbg.runtime.memmove
mov eax, dword [esp + 0x30]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jbe 0x5200fd
jmp 0x520536
mov edx, ebp
jmp 0x520196
lea eax, [edx - 2]
cmp eax, 2
jbe 0x52052f
mov ecx, dword [esp + 0x2c]
mov edx, ecx
sar ecx, 8
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0xb4]
mov byte [esi + ebx + 2], cl
cmp eax, 3
jbe 0x520528
mov byte [esi + ebx + 3], dl
lea eax, [edx + 2]
mov ecx, eax
sar eax, 8
mov byte [esi + ebx], al
mov byte [esi + ebx + 1], cl
mov eax, dword [esp + 0xbc]
movzx ecx, byte [eax + 0x4d]
test cl, cl
je 0x520233
test edi, edi
jbe 0x520521
mov byte [ebp], 0
cmp edi, 1
jbe 0x52051a
mov byte [ebp + 1], 0x12
cmp edi, 4
jb 0x520513
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x28]
mov dword [eax + 8], edx
mov ebx, dword [0x79b700]
test ebx, ebx
jne 0x520270
mov ebx, dword [esp + 0xa8]
mov dword [eax], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
add esp, 0xb8
ret
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0xa8]
jmp 0x520254
mov ebp, ecx
mov edi, edx
jmp 0x520202
mov esi, ecx
jmp 0x520026
mov ebp, ecx
mov ecx, eax
mov eax, ebx
jmp 0x520070
mov ebx, eax
mov eax, ecx
mov ecx, ebp
jmp 0x51ff97
test edx, edx
jbe 0x5205d7
mov byte [ecx], 0
cmp edx, 1
jbe 0x5205d0
mov byte [ecx + 1], 0x23
mov ebx, dword [eax + 0x70]
cmp edx, 2
jbe 0x5205c9
mov esi, ebx
sar ebx, 8
mov byte [ecx + 2], bl
cmp edx, 3
jbe 0x5205c2
xchg esi, eax
mov byte [ecx + 3], al
xchg esi, eax
lea ebx, [ebp - 4]
mov dword [esp + 0x20], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
add ecx, ebx
add edx, 0xfffffffc
mov dword [esp + 0x1c], edx
mov ebx, dword [eax + 0x70]
mov esi, dword [eax + 0x6c]
cmp edx, ebx
jle 0x52036a
mov dword [esp + 0xa4], ecx
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call dbg.runtime.memmove
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x70]
mov edx, dword [esp + 0x1c]
cmp ecx, edx
ja 0x5205bb
sub edx, ecx
mov ebp, dword [esp + 0x20]
sub ebp, ecx
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
mov esi, dword [esp + 0xa4]
lea ecx, [ebp + esi]
mov ebp, ebx
jmp 0x51fea1
mov ebx, edx
jmp 0x520316
test edx, edx
jbe 0x5206a2
mov byte [ecx], 0
cmp edx, 1
jbe 0x52069b
mov byte [ecx + 1], 0
mov ebx, dword [eax + 0x48]
cmp edx, 2
jbe 0x520694
add ebx, 5
mov esi, ebx
sar ebx, 8
mov byte [ecx + 2], bl
cmp edx, 3
jbe 0x52068d
mov dword [esp + 0x60], esi
mov dword [esp + 0x48], edx
xchg esi, eax
mov byte [ecx + 3], al
xchg esi, eax
lea ebx, [ebp - 4]
mov dword [esp + 0x20], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea edi, [ecx + ebx]
lea esi, [edx - 4]
mov edx, dword [eax + 0x48]
test esi, esi
jbe 0x520686
add edx, 3
sar edx, 8
mov byte [ecx + ebx], dl
mov edx, dword [eax + 0x48]
cmp esi, 1
jbe 0x52067f
add edx, 3
mov byte [ecx + ebx + 1], dl
mov edx, dword [eax + 0x48]
cmp esi, 3
jbe 0x520678
sar edx, 8
mov byte [ecx + ebx + 3], dl
mov edx, dword [eax + 0x48]
cmp esi, 4
jbe 0x520671
mov dword [esp + 0x1c], esi
mov dword [esp + 0xa4], edi
mov dword [esp + 0x44], ebp
mov byte [ecx + ebx + 4], dl
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [esp + 0x84]
mov dword [esp], ecx
call dbg.runtime.stringtoslicebyte
mov eax, dword [esp + 0x44]
add eax, 0xfffffff7
neg eax
sar eax, 0x1f
and eax, 5
mov ecx, dword [esp + 0xa4]
add eax, ecx
mov edx, dword [esp + 0x48]
add edx, 0xfffffff7
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
cmp edx, ebx
jle 0x5204b9
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call dbg.runtime.memmove
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
ja 0x52066a
sub ecx, eax
mov ebp, dword [esp + 0x20]
sub ebp, eax
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
mov esi, dword [esp + 0xa4]
add esi, eax
mov eax, dword [esp + 0xbc]
mov ebp, ebx
mov edx, ecx
mov ecx, esi
jmp 0x51fcbc
mov ebx, edx
jmp 0x520469
mov ebp, ebx
jmp 0x51fcb1
mov ecx, esi
mov ebx, ebp
jmp 0x51fc70
mov edi, esi
jmp 0x51fbe9
mov ebp, 0x20
jmp 0x51fa46
mov ebx, edx
mov edx, esi
jmp 0x51f98b
mov ecx, ebp
jmp 0x51f963
mov ebp, esi
xor esi, esi
jmp 0x51f8a0
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], ebx
add esp, 0xb8
ret
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
lea eax, [0x604c20]
mov dword [esp], eax
lea eax, [0x67aea0]
mov dword [esp + 4], eax
call dbg.runtime.gopanic
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.crypto/tls.(*clientHelloMsg).marshal