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

Disassembly:
mov ecx, dword [0x64f96c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x4dad39
sub esp, 0x138
lea eax, [0x51eb60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov edx, dword [esp + 0x144]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x2e
mov dword [esp + 0x10], 0x2e
mov dword [esp + 0x14], 0x2e
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4d9d42
mov edx, dword [esp + 0x134]
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], 0x2e
mov dword [esp + 0x120], 0x2e
mov edx, dword [esp + 0x118]
lea ebx, [edx + 4]
cmp dword [edx], 0x2014b50
mov dword [esp + 0x11c], 0x2a
mov dword [esp + 0x120], 0x2a
mov dword [esp + 0x118], ebx
jne 0x4d9d21
lea ebx, [edx + 6]
movzx edx, word [edx + 4]
nop
mov dword [esp + 0x11c], 0x28
mov dword [esp + 0x120], 0x28
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x13c]
mov word [ebx + 0x12], dx
mov ecx, dword [esp + 0x11c]
cmp ecx, 1
jbe 0x4dad2e
mov edx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ebp, edx
lea edi, [ecx - 2]
movzx edx, word [edx]
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], ebp
mov word [ebx + 0x14], dx
mov ecx, dword [esp + 0x11c]
cmp ecx, 1
jbe 0x4dad24
mov edx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ebp, edx
lea edi, [ecx - 2]
movzx edx, word [edx]
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], ebp
mov word [ebx + 0x16], dx
mov ecx, dword [esp + 0x11c]
cmp ecx, 1
jbe 0x4dad1a
mov edx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ebp, edx
lea edi, [ecx - 2]
movzx edx, word [edx]
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], ebp
mov word [ebx + 0x18], dx
mov ecx, dword [esp + 0x11c]
cmp ecx, 1
jbe 0x4dad10
mov edx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ebp, edx
lea edi, [ecx - 2]
movzx edx, word [edx]
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], ebp
mov word [ebx + 0x30], dx
mov ecx, dword [esp + 0x11c]
cmp ecx, 1
jbe 0x4dad06
mov edx, dword [esp + 0x118]
mov ebp, dword [esp + 0x120]
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ebp, edx
lea edi, [ecx - 2]
movzx edx, word [edx]
mov dword [esp + 0x11c], edi
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], ebp
mov word [ebx + 0x32], dx
mov ecx, dword [esp + 0x11c]
cmp ecx, 3
jbe 0x4dacfc
mov edx, dword [esp + 0x118]
mov dword [esp + 0x114], edx
mov ebp, dword [esp + 0x120]
lea esi, [ebp - 4]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
mov dword [esp + 0x7c], esi
lea eax, [esi + edx]
lea esi, [ecx - 4]
mov edx, dword [edx]
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], edi
mov dword [esp + 0x118], eax
mov dword [ebx + 0x34], edx
nop
cmp esi, 3
jbe 0x4dacf0
mov dword [esp + 0x58], ebp
mov dword [esp + 0x130], eax
lea edx, [ebp - 8]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 4
mov dword [esp + 0x78], edx
lea edi, [eax + edx]
lea eax, [ecx - 8]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x114]
mov edx, dword [ebp + edx]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], edi
mov dword [ebx + 0x38], edx
nop
cmp eax, 3
jbe 0x4dace4
mov edx, dword [esp + 0x58]
add edx, 0xfffffff4
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, 4
add edx, edi
lea esi, [ecx - 0xc]
mov edi, dword [esp + 0x78]
mov eax, ebx
mov ebx, dword [esp + 0x130]
mov ebx, dword [ebx + edi]
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], ebp
mov dword [esp + 0x118], edx
mov dword [eax + 0x3c], ebx
mov edx, dword [eax + 0x38]
mov dword [eax + 0x40], edx
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], ebx
mov dword [eax + 0x4c], 0
mov ecx, dword [esp + 0x11c]
nop
cmp ecx, 1
jbe 0x4dacda
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x110], ebx
lea ebp, [edx - 2]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
lea edi, [ebx + ebp]
lea eax, [ecx - 2]
movzx ebx, word [ebx]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], edi
nop
nop
cmp eax, 1
jbe 0x4dacce
mov dword [esp + 0x130], edi
mov dword [esp + 0x7c], ebx
lea esi, [edx - 4]
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
mov dword [esp + 0x78], esi
lea ebx, [esi + edi]
lea esi, [ecx - 4]
mov edi, dword [esp + 0x110]
movzx ebp, word [edi + ebp]
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], eax
mov dword [esp + 0x118], ebx
nop
nop
cmp esi, 1
jbe 0x4dacc2
mov dword [esp + 0x54], edx
lea esi, [edx - 6]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add ebx, esi
lea esi, [ecx - 6]
mov eax, ebp
mov ebp, dword [esp + 0x130]
mov edx, dword [esp + 0x78]
movzx edx, word [edx + ebp]
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], edi
mov dword [esp + 0x118], ebx
cmp esi, 4
jb 0x4dacb6
mov dword [esp + 0x130], ebx
mov dword [esp + 0x78], edx
lea ebp, [ecx - 0xa]
mov esi, dword [esp + 0x54]
lea edi, [esi - 0xa]
mov dword [esp + 0x74], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 4
lea edx, [ebx + edi]
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], ebp
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x120], ebx
nop
cmp ebp, 3
jbe 0x4dacaa
mov dword [esp + 0x12c], edx
lea ebx, [esi - 0xe]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
mov dword [esp + 0x74], ebx
add edx, ebx
lea ebx, [ecx - 0xe]
mov esi, dword [esp + 0x130]
mov esi, dword [esi + edi]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebp
mov dword [esp + 0x118], edx
mov ebp, dword [esp + 0x13c]
mov dword [ebp + 0x5c], esi
nop
cmp ebx, 3
jbe 0x4dac9e
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x7c]
lea esi, [ebx + eax]
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x78]
add edi, esi
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x54]
add eax, 0xffffffee
mov dword [esp + 0x68], eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, edx
add ecx, 0xffffffee
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x12c]
mov edx, dword [esi + edx]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x118], eax
mov dword [ebp + 0x6c], edx
mov dword [ebp + 0x70], 0
lea eax, [0x51f6c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov ecx, dword [esp + 0x144]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4d9d08
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
ja 0x4dac99
mov dword [esp], 0
mov eax, dword [esp + 0x128]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x13c]
mov dword [edx + 4], eax
mov eax, dword [0x64faa8]
test eax, eax
je 0x4d9b84
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx]
mov dword [edi + 4], ebx
mov dword [edx], ecx
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x6c]
cmp ebx, ecx
jb 0x4dac92
mov eax, dword [esp + 0x7c]
cmp eax, ecx
ja 0x4dac8d
mov ebp, dword [esp + 0x70]
mov dword [edx + 0x54], ebp
sub ebx, eax
mov dword [edx + 0x58], ebx
mov ebp, dword [0x64faa8]
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x78]
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ecx, ebx
mov ebx, dword [esp + 0x128]
add eax, ebx
add ecx, ebx
test ebp, ebp
je 0x4d9be4
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0x50]
mov dword [edi + 4], ebx
mov dword [edx + 0x50], eax
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x13c]
mov dword [edx + 0xc], eax
mov eax, dword [0x64faa8]
test eax, eax
je 0x4d9c24
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx + 8]
mov dword [edi + 4], eax
mov dword [edx + 8], ecx
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.archive_zip.detectUTF8
movzx eax, byte [esp + 8]
mov byte [esp + 0x37], al
mov ecx, dword [esp + 0x13c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
movzx ebp, byte [esp + 9]
xchg ebp, eax
mov byte [esp + 0x38], al
xchg ebp, eax
mov dword [esp], edx
mov dword [esp + 4], ebx
call sym.archive_zip.detectUTF8
movzx eax, byte [esp + 0x37]
test al, al
je 0x4d9cae
movzx ecx, byte [esp + 8]
test cl, cl
je 0x4d9cae
movzx ecx, byte [esp + 0x38]
test cl, cl
jne 0x4d9c89
movzx ecx, byte [esp + 9]
test cl, cl
je 0x4d9ca1
mov ecx, dword [esp + 0x13c]
movzx ebx, word [ecx + 0x16]
test bx, 0x800
sete bl
mov byte [ecx + 0x10], bl
jmp 0x4d9cb9
mov ecx, dword [esp + 0x13c]
mov byte [ecx + 0x10], 0
jmp 0x4d9cb9
mov ecx, dword [esp + 0x13c]
mov byte [ecx + 0x10], 1
mov ebx, dword [ecx + 0x70]
cmp dword [ecx + 0x3c], 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp dword [ecx + 0x38], 0xffffffff
sete al
cmp dword [ecx + 0x6c], 0xffffffff
sete dl
lea edi, [esp + 0xfc]
mov esi, eax
xor eax, eax
call fcn.0046d21b
mov ecx, dword [esp + 0x13c]
mov edi, dword [ecx + 0x50]
mov eax, dword [ecx + 0x54]
mov ecx, dword [ecx + 0x58]
test ebx, ebx
sete bl
and ebx, edx
mov edx, dword [esp + 0x13c]
jmp 0x4d9d93
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
add esp, 0x138
ret
mov eax, dword [0x62bb98]
mov ecx, dword [0x62bb9c]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
add esp, 0x138
ret
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
add esp, 0x138
ret
mov edi, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov ebx, edx
mov edx, dword [esp + 0x13c]
mov edx, ecx
mov ecx, esi
mov esi, edx
mov edx, dword [esp + 0x13c]
mov edx, eax
mov eax, ebp
mov ebp, edx
mov edx, dword [esp + 0x13c]
xchg esi, eax
mov byte [esp + 0x3b], al
xchg esi, eax
mov byte [esp + 0x3a], bl
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
cmp eax, 4
jl 0x4da497
nop
nop
cmp eax, 1
jbe 0x4dac81
xchg ebp, eax
mov byte [esp + 0x39], al
xchg ebp, eax
lea ebx, [ecx - 2]
mov dword [esp + 0x7c], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
mov dword [esp + 0x78], ebx
lea esi, [edi + ebx]
lea ebp, [eax - 2]
movzx edx, word [edi]
mov dword [esp + 0xf4], ebp
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xf0], esi
nop
nop
cmp ebp, 1
jbe 0x4dac75
mov dword [esp + 0x130], esi
lea ebx, [ecx - 4]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
mov dword [esp + 0x7c], ebx
add ebx, esi
mov dword [esp + 0x12c], ebx
lea esi, [eax - 4]
mov ebx, dword [esp + 0x78]
movzx ebx, word [edi + ebx]
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], ebp
mov edi, ebp
mov ebp, dword [esp + 0x12c]
mov dword [esp + 0xf0], ebp
cmp ebx, esi
jg 0x4da490
cmp ebx, edi
ja 0x4dac6c
cmp ebx, esi
ja 0x4dac63
mov esi, ecx
sub ecx, ebx
sub eax, ebx
add ecx, 0xfffffffc
add eax, 0xfffffffc
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
neg ecx
sar ecx, 0x1f
and ecx, ebx
lea eax, [ebp + ecx]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], edi
cmp dx, 0xa
ja 0x4da1c4
cmp dx, 1
jne 0x4da163
mov ebx, dword [esp + 0x13c]
mov byte [ebx + 0x74], 1
movzx ebp, byte [esp + 0x39]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4d9fa6
cmp dword [esp + 0xe8], 8
jl 0x4da42d
mov ecx, dword [esp + 0xe8]
cmp ecx, 7
jbe 0x4dac59
mov ebp, dword [esp + 0xe4]
mov eax, dword [esp + 0xec]
add eax, 0xfffffff8
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 8
add eax, ebp
add ecx, 0xfffffff8
movzx esi, byte [ebp]
movzx edi, byte [ebp + 1]
mov dword [esp + 0x64], edi
shl edi, 8
or esi, edi
mov ebx, dword [esp + 0x64]
shr ebx, 0x18
movzx edi, byte [ebp + 2]
mov dword [esp + 0x64], edi
shr edi, 0x10
or edi, ebx
mov ebx, dword [esp + 0x64]
shl ebx, 0x10
or ebx, esi
movzx esi, byte [ebp + 3]
mov dword [esp + 0x64], esi
shr esi, 8
or esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x64]
shl ebp, 0x18
or ebp, ebx
movzx ebx, byte [edi + 4]
or ebx, esi
movzx esi, byte [edi + 5]
shl esi, 8
or ebx, esi
movzx esi, byte [edi + 6]
shl esi, 0x10
or ebx, esi
movzx esi, byte [edi + 7]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0xe4], eax
mov eax, ebx
mov ebx, dword [esp + 0x13c]
mov dword [ebx + 0x48], ebp
shl esi, 0x18
or eax, esi
mov dword [ebx + 0x4c], eax
movzx ebp, byte [esp + 0x3b]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4da080
cmp dword [esp + 0xe8], 8
jl 0x4da44e
mov ecx, dword [esp + 0xe8]
cmp ecx, 7
jbe 0x4dac4f
mov ebp, dword [esp + 0xe4]
mov eax, dword [esp + 0xec]
add eax, 0xfffffff8
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 8
add eax, ebp
add ecx, 0xfffffff8
movzx esi, byte [ebp]
movzx edi, byte [ebp + 1]
mov dword [esp + 0x64], edi
shl edi, 8
or edi, esi
mov ebx, dword [esp + 0x64]
shr ebx, 0x18
movzx esi, byte [ebp + 2]
mov dword [esp + 0x64], esi
shr esi, 0x10
or ebx, esi
mov esi, ebx
mov ebx, dword [esp + 0x64]
shl ebx, 0x10
or ebx, edi
movzx edi, byte [ebp + 3]
mov dword [esp + 0x64], edi
shr edi, 8
or esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x64]
shl ebp, 0x18
or ebp, ebx
movzx ebx, byte [edi + 4]
or ebx, esi
movzx esi, byte [edi + 5]
shl esi, 8
or ebx, esi
movzx esi, byte [edi + 6]
shl esi, 0x10
or ebx, esi
movzx esi, byte [edi + 7]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0xe4], eax
mov eax, ebx
mov ebx, dword [esp + 0x13c]
mov dword [ebx + 0x40], ebp
shl esi, 0x18
or eax, esi
mov dword [ebx + 0x44], eax
movzx ebp, byte [esp + 0x3a]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4da158
cmp dword [esp + 0xe8], 8
jl 0x4da46f
mov ecx, dword [esp + 0xe8]
cmp ecx, 7
jbe 0x4dac45
mov ebp, dword [esp + 0xe4]
mov eax, dword [esp + 0xec]
add eax, 0xfffffff8
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 8
add eax, ebp
add ecx, 0xfffffff8
movzx esi, byte [ebp]
movzx edi, byte [ebp + 1]
mov dword [esp + 0x64], edi
shl edi, 8
or esi, edi
mov ebx, dword [esp + 0x64]
shr ebx, 0x18
movzx edi, byte [ebp + 2]
mov dword [esp + 0x64], edi
shl edi, 0x10
or edi, esi
mov esi, ebp
mov ebp, dword [esp + 0x64]
shr ebp, 0x10
or ebx, ebp
movzx ebp, byte [esi + 3]
mov dword [esp + 0x64], ebp
shr ebp, 8
or ebx, ebp
mov ebp, dword [esp + 0x64]
shl ebp, 0x18
or ebp, edi
movzx edi, byte [esi + 4]
or edi, ebx
movzx ebx, byte [esi + 5]
shl ebx, 8
or edi, ebx
movzx ebx, byte [esi + 6]
shl ebx, 0x10
or edi, ebx
movzx ebx, byte [esi + 7]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], edx
mov dword [esp + 0xe4], eax
mov eax, ebx
mov ebx, dword [esp + 0x13c]
mov dword [ebx + 0x6c], ebp
shl eax, 0x18
or edi, eax
mov dword [ebx + 0x70], edi
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4d9d5b
cmp dx, 0xa
jne 0x4da412
cmp ebx, 4
jge 0x4da18d
mov ebx, dword [esp + 0x13c]
movzx eax, byte [esp + 0x39]
movzx ecx, byte [esp + 0x3b]
movzx edx, byte [esp + 0x3a]
jmp 0x4d9d5b
nop
nop
cmp ebx, 3
jbe 0x4dac39
lea eax, [esi - 8]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 4
add ebp, eax
add ebx, 0xfffffffc
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xe4], ebp
jmp 0x4da7fa
cmp dx, 0xd
je 0x4da315
cmp dx, 0x5455
jne 0x4da30a
cmp ebx, 5
jge 0x4da1e5
mov ebx, 1
jmp 0x4da230
test ebx, ebx
jbe 0x4da7f1
mov eax, ebx
mov ebx, dword [esp + 0x7c]
mov ecx, ebp
mov ebp, dword [esp + 0x130]
movzx ebx, byte [ebp + ebx]
lea ebp, [esi - 5]
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebp, ecx
dec eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], edx
mov dword [esp + 0xe4], ebp
test bl, 1
sete bl
test bl, bl
je 0x4da24f
mov ebx, dword [esp + 0x13c]
movzx eax, byte [esp + 0x39]
movzx ecx, byte [esp + 0x3b]
movzx edx, byte [esp + 0x3a]
jmp 0x4d9d5b
mov ecx, dword [esp + 0xe8]
nop
cmp ecx, 3
jbe 0x4da7e7
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0xec]
add edx, 0xfffffffc
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
add edx, eax
add ecx, 0xfffffffc
mov eax, dword [eax]
mov dword [esp + 0x64], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe4], edx
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0046d21b
mov dword [esp + 0xd4], 0
mov ecx, dword [esp + 0x64]
add ecx, 0x7791f700
mov dword [esp + 0xd8], ecx
adc eax, 0xe
mov dword [esp + 0xdc], eax
mov ecx, dword [0x62b868]
mov dword [esp + 0xe0], ecx
lea edi, [esp + 0xfc]
lea esi, [esp + 0xd0]
call fcn.0046d6fe
mov ebx, dword [esp + 0x13c]
movzx eax, byte [esp + 0x39]
movzx ecx, byte [esp + 0x3b]
movzx edx, byte [esp + 0x3a]
jmp 0x4d9d5b
cmp dx, 0x5855
jne 0x4da412
cmp ebx, 8
jge 0x4da335
mov ebx, dword [esp + 0x13c]
movzx eax, byte [esp + 0x39]
movzx ecx, byte [esp + 0x3b]
movzx edx, byte [esp + 0x3a]
jmp 0x4d9d5b
nop
nop
cmp ebx, 3
jbe 0x4da7db
lea eax, [esi - 8]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 4
lea edx, [ebp + eax]
lea edi, [ebx - 4]
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], ecx
mov dword [esp + 0xe4], edx
nop
nop
cmp edi, 3
jbe 0x4da7cf
lea ecx, [esi - 0xc]
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
lea edx, [ebx - 8]
mov eax, dword [ebp + eax]
mov dword [esp + 0x64], eax
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], esi
mov dword [esp + 0xe4], ecx
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0046d21b
mov dword [esp + 0xd4], 0
mov ecx, dword [esp + 0x64]
add ecx, 0x7791f700
mov dword [esp + 0xd8], ecx
adc eax, 0xe
mov dword [esp + 0xdc], eax
mov ecx, dword [0x62b868]
mov dword [esp + 0xe0], ecx
lea edi, [esp + 0xfc]
lea esi, [esp + 0xd0]
call fcn.0046d6fe
mov ebx, dword [esp + 0x13c]
movzx eax, byte [esp + 0x39]
movzx ecx, byte [esp + 0x3b]
movzx edx, byte [esp + 0x3a]
jmp 0x4d9d5b
mov ebx, dword [esp + 0x13c]
movzx eax, byte [esp + 0x39]
movzx ecx, byte [esp + 0x3b]
movzx edx, byte [esp + 0x3a]
jmp 0x4d9d5b
mov eax, dword [0x62bb98]
mov ecx, dword [0x62bb9c]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
add esp, 0x138
ret
mov eax, dword [0x62bb98]
mov ecx, dword [0x62bb9c]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
add esp, 0x138
ret
mov eax, dword [0x62bb98]
mov ecx, dword [0x62bb9c]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
add esp, 0x138
ret
mov edx, dword [esp + 0x13c]
movzx eax, word [edx + 0x32]
movzx ecx, word [edx + 0x30]
mov word [esp], ax
mov word [esp + 2], cx
call sym.archive_zip.msDosTimeToTime
lea edi, [esp + 0xd0]
lea esi, [esp + 4]
call fcn.0046d6fe
mov eax, dword [0x64faa8]
mov ecx, dword [esp + 0x13c]
lea edi, [ecx + 0x1c]
mov dword [esp + 0x124], edi
test eax, eax
je 0x4da503
lea eax, [0x53a220]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [esp + 0xd0]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
mov ecx, dword [esp + 0x13c]
mov edi, dword [esp + 0x124]
lea esi, [esp + 0xd0]
call fcn.0046d6fe
lea edi, [esp + 0xa8]
lea esi, [esp + 0xfc]
call fcn.0046d6fe
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
test eax, 0x80000000
je 0x4da55b
shl eax, 1
mov edx, ecx
shl ecx, 1
mov ebx, edx
shr edx, 0x1f
or eax, edx
mov edx, eax
shl eax, 1
shr ecx, 0x1f
or ecx, eax
shr edx, 0x1f
add ecx, 0xd7b17f80
adc edx, 0xd
jmp 0x4da56d
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ebx, ecx
mov ecx, eax
test ecx, ecx
sete al
test edx, edx
sete cl
and eax, ecx
test al, al
je 0x4da589
test ebx, 0x3fffffff
je 0x4da767
lea edi, [esp + 0x94]
lea esi, [esp + 0xfc]
call fcn.0046d6fe
mov eax, dword [esp + 0x98]
nop
nop
test eax, 0x80000000
je 0x4da5f7
mov ecx, dword [esp + 0x94]
mov edx, ecx
shl ecx, 1
shl eax, 1
shr edx, 0x1f
or eax, edx
mov edx, eax
shl eax, 1
shr ecx, 0x1f
or ecx, eax
shr edx, 0x1f
add ecx, 0xd7b17f80
mov dword [esp + 0x9c], ecx
adc edx, 0xd
mov dword [esp + 0xa0], edx
and dword [esp + 0x94], 0x3fffffff
mov dword [esp + 0x98], 0
mov dword [esp + 0xa4], 0
mov eax, dword [0x64faa8]
test eax, eax
je 0x4da630
lea eax, [0x53a220]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
lea edx, [esp + 0x94]
mov dword [esp + 8], edx
call sym.runtime.wbMove
mov edi, dword [esp + 0x124]
lea esi, [esp + 0x94]
call fcn.0046d6fe
mov eax, dword [esp + 0x13c]
movzx ecx, word [eax + 0x30]
test cx, cx
jne 0x4da660
movzx eax, word [eax + 0x32]
test ax, ax
je 0x4da767
lea edi, [esp]
lea esi, [esp + 0xd0]
call fcn.0046d6fe
lea edi, [esp + 0x14]
lea esi, [esp + 0xfc]
call fcn.0046d6fe
call sym.time.Time.Sub
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.archive_zip.timeZone
mov eax, dword [esp + 8]
lea edi, [esp + 0x80]
lea esi, [esp + 0xfc]
call fcn.0046d6fe
test eax, eax
je 0x4da7b7
nop
lea ecx, [0x62e2c0]
cmp eax, ecx
jne 0x4da6c4
xor eax, eax
mov ecx, dword [esp + 0x84]
nop
test ecx, 0x80000000
je 0x4da71f
mov edx, dword [esp + 0x80]
mov ebx, edx
shl edx, 1
shl ecx, 1
shr ebx, 0x1f
or ecx, ebx
mov ebx, ecx
shl ecx, 1
shr ebx, 0x1f
shr edx, 0x1f
or edx, ecx
add edx, 0xd7b17f80
mov dword [esp + 0x88], edx
adc ebx, 0xd
mov dword [esp + 0x8c], ebx
and dword [esp + 0x80], 0x3fffffff
mov dword [esp + 0x84], 0
mov dword [esp + 0x90], eax
mov eax, dword [0x64faa8]
test eax, eax
je 0x4da754
lea eax, [0x53a220]
mov dword [esp], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
call sym.runtime.wbMove
mov edi, dword [esp + 0x124]
lea esi, [esp + 0x80]
call fcn.0046d6fe
movzx eax, byte [esp + 0x3b]
test al, al
jne 0x4da779
movzx eax, byte [esp + 0x3a]
test al, al
je 0x4da79a
mov eax, dword [0x62bb98]
mov ecx, dword [0x62bb9c]
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
add esp, 0x138
ret
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
add esp, 0x138
ret
lea eax, [0x51f640]
mov dword [esp], eax
lea eax, [0x573768]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, 3
mov ecx, edi
call sym.runtime.panicIndex
mov eax, 3
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, 3
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
cmp dword [esp + 0xe8], 4
jl 0x4dabec
mov ecx, dword [esp + 0xe8]
nop
cmp ecx, 1
jbe 0x4dac2f
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0xec]
lea eax, [ebp - 2]
mov edx, eax
neg eax
sar eax, 0x1f
and eax, 2
mov dword [esp + 0x7c], eax
lea esi, [eax + ebx]
lea edi, [ecx - 2]
movzx eax, word [ebx]
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edx
mov dword [esp + 0xe4], esi
nop
nop
cmp edi, 1
jbe 0x4dac23
mov dword [esp + 0x130], esi
mov dword [esp + 0x50], ebp
lea edx, [ebp - 4]
mov edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 2
mov dword [esp + 0x78], edi
add esi, edi
lea edi, [ecx - 4]
mov ebp, dword [esp + 0x7c]
movzx ebx, word [ebx + ebp]
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edx
mov dword [esp + 0xe4], esi
cmp ebx, edi
jg 0x4dabd1
nop
cmp ebx, edx
ja 0x4dac1c
cmp ebx, edi
ja 0x4dac13
sub ecx, ebx
mov ebp, dword [esp + 0x50]
sub ebp, ebx
add ebp, 0xfffffffc
add ecx, 0xfffffffc
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
add ebp, esi
mov dword [esp + 0xe4], ebp
cmp ax, 1
jne 0x4da7fa
cmp ebx, 0x18
jne 0x4da7fa
nop
nop
cmp ebx, 7
jbe 0x4dac07
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x130]
movzx edx, byte [ecx + eax]
movzx ebx, byte [ecx + eax + 1]
mov ebp, ebx
shl ebx, 8
or edx, ebx
shr ebp, 0x18
movzx ebx, byte [ecx + eax + 2]
mov esi, ebx
shl ebx, 0x10
or ebx, edx
shr esi, 0x10
or ebp, esi
movzx edx, byte [ecx + eax + 3]
mov esi, edx
shr edx, 8
or edx, ebp
shl esi, 0x18
or esi, ebx
mov dword [esp + 0x64], esi
movzx ebx, byte [ecx + eax + 4]
or ebx, edx
movzx edx, byte [ecx + eax + 5]
shl edx, 8
or ebx, edx
movzx edx, byte [ecx + eax + 6]
shl edx, 0x10
or edx, ebx
movzx eax, byte [ecx + eax + 7]
mov dword [esp], esi
shl eax, 0x18
or eax, edx
mov dword [esp + 0x60], eax
mov dword [esp + 4], eax
mov dword [esp + 8], 0x989680
mov dword [esp + 0xc], 0
call sym.runtime.int64div
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x64]
mov dword [esp], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x989680
mov dword [esp + 0xc], 0
call sym.runtime.int64mod
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x64
mul ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
imul ecx, ecx, 0x64
mov dword [esp + 0x60], ecx
mov ebx, dword [0x62b864]
mov dword [esp], 0x641
mov dword [esp + 4], 1
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ebx
call sym.time.Date
lea edi, [esp + 0xfc]
lea esi, [esp + 0x20]
call fcn.0046d6fe
lea edi, [esp + 0xbc]
lea esi, [esp + 0xfc]
call fcn.0046d6fe
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
add ecx, edx
nop
test eax, 0x80000000
je 0x4daa92
mov ebx, dword [esp + 0xbc]
mov ebp, ebx
shl ebx, 1
shl eax, 1
shr ebp, 0x1f
or ebp, eax
mov eax, ebp
shl ebp, 1
shr ebx, 0x1f
or ebx, ebp
shr eax, 0x1f
add ebx, 0xd7b17f80
adc eax, 0xd
jmp 0x4daaa0
mov ebx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x64], ecx
mov ebp, dword [esp + 0x3c]
add ebx, ebp
mov dword [esp + 0x60], ebx
mov ebp, dword [esp + 0x40]
adc eax, ebp
mov dword [esp + 0x5c], eax
add ebx, 0x886e0900
adc eax, 0xfffffff1
test ecx, ecx
xchg esi, ebx
setl bl
xchg esi, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
setg dl
mov ebp, dword [esp + 0x44]
cmp ebp, 0x3b9aca00
setae cl
and ecx, edi
or edx, ecx
or esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4dab6c
mov dword [esp], ebp
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call sym.runtime.int64div
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, eax
mov eax, 0x3b9aca00
mov ebx, edx
mul edx
imul ebp, ecx, 0x3b9aca00
add edx, ebp
mov ebp, dword [esp + 0x60]
add ebx, ebp
mov ebp, dword [esp + 0x5c]
adc ebp, ecx
mov ecx, ebx
add ebx, 0x886e0900
mov esi, ebp
adc ebp, 0xfffffff1
mov edi, dword [esp + 0x44]
sub edi, eax
mov eax, dword [esp + 0x64]
sbb eax, edx
test eax, eax
jge 0x4dab62
add edi, 0x3b9aca00
add ecx, 0x886e08ff
adc esi, 0xfffffff1
jmp 0x4dab66
mov esi, ebp
mov ecx, ebx
mov ebp, edi
mov eax, esi
mov ebx, ecx
mov dword [esp + 0x48], ebp
sar ebp, 0x1f
lea edi, [esp + 0xd0]
mov edx, eax
xor eax, eax
call fcn.0046d21b
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], ebp
add ebx, 0x7791f700
mov dword [esp + 0xd8], ebx
adc edx, 0xe
mov dword [esp + 0xdc], edx
mov ecx, dword [0x62b868]
mov dword [esp + 0xe0], ecx
lea edi, [esp + 0xfc]
lea esi, [esp + 0xd0]
call fcn.0046d6fe
jmp 0x4da7fa
mov ebx, dword [esp + 0x13c]
movzx eax, byte [esp + 0x39]
movzx ecx, byte [esp + 0x3b]
movzx edx, byte [esp + 0x3a]
jmp 0x4d9d5b
mov ebx, dword [esp + 0x13c]
movzx eax, byte [esp + 0x39]
movzx ecx, byte [esp + 0x3b]
movzx edx, byte [esp + 0x3a]
jmp 0x4d9d5b
mov eax, 7
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, edi
call sym.runtime.panicSliceB
mov ecx, ebx
call sym.runtime.panicSliceAcap
mov eax, 1
mov ecx, edi
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
mov eax, 3
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, 7
call sym.runtime.panicIndex
mov eax, 7
call sym.runtime.panicIndex
mov eax, 7
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, esi
call sym.runtime.panicSliceB
mov ecx, ebx
mov edx, edi
call sym.runtime.panicSliceAcap
mov eax, 1
mov ecx, ebp
call sym.runtime.panicIndex
mov ecx, eax
mov eax, 1
call sym.runtime.panicIndex
call sym.runtime.panicSliceB
mov edx, ebx
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAcap
mov eax, 3
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, 3
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, 4
mov ecx, esi
call sym.runtime.panicSliceB
mov eax, 1
mov ecx, esi
call sym.runtime.panicIndex
mov ecx, eax
mov eax, 1
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
mov ecx, eax
mov eax, 3
call sym.runtime.panicIndex
mov eax, 3
mov ecx, esi
call sym.runtime.panicIndex
mov eax, 3
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.archive_zip.readDirectoryHeader